我最近开始学习 golang,我会在myInput函数中获取用户输入,fmt.Scan()但是当我把它放在函数fmt.Scan()中时,没有得到用户输入;fmt.Scan()在示例下不起作用:package mainimport ( "fmt")func myInput(p1 *int, p2 *int) { fmt.Println("Enter text : ") fmt.Scan(*p1) fmt.Println("Enter text : ") fmt.Scan(*p2)}func rect(x int, y int, a *int, p *int) { *a = x * y *p = 2 *(x + y)}func main() { var length, width, area, perimeter int myInput(&length, &width) rect(length, width, &area, &perimeter) fmt.Println(length, width, area, perimeter)}如何解决这个问题,谢谢,为什么不工作 Scan() ?
1 回答
LEATH
TA贡献1936条经验 获得超6个赞
您必须&在扫描方法中删除
package main
import (
"fmt"
)
func myInput(p1 *int, p2 *int) {
fmt.Println("Enter text : ")
fmt.Scan(p1)
fmt.Println("Enter text : ")
fmt.Scan(p2)
}
func rect(x int, y int, a *int, p *int) {
*a = x * y
*p = 2 *(x + y)
}
func main() {
var length, width, area, perimeter int
myInput(&length, &width)
rect(length, width, &area, &perimeter)
fmt.Println(length, width, area, perimeter)
}
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消