如何将golang中的用户输入整数输入函数

如何将golang中的用户输入整数输入函数,go,Go,我最近开始学习golang,我将使用fmt.Scan()在myInput函数中获取用户输入,但当我将其放入函数fmt.Scan()中时,不会获取用户输入 fmt.Scan() package main import ( "fmt" ) func myInput(p1 *int, p2 *int) { fmt.Println("Enter text : ") fmt.Scan(*p1) fmt.Println("Enter text : ") fmt.S

我最近开始学习golang,我将使用
fmt.Scan()
myInput函数中获取用户输入,但当我将其放入函数
fmt.Scan()
中时,不会获取用户输入

fmt.Scan()

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)

}
如何解决这个问题,谢谢,
为什么不使用Scan()?

您必须删除Scan方法中的
&

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)

}