Go 多输入(fmt.Scanln)

Go 多输入(fmt.Scanln),go,Go,为什么这不起作用,或者如何使用fmt.Scanln获取多个输入 编辑:如果插入多个单词,则会出现错误“扫描:预期换行”,对此我能做些什么 var username string print("Username: ") _, err := fmt.Scanln(&username) if err != nil { fmt.Println("Error: ", err) } var password string

为什么这不起作用,或者如何使用
fmt.Scanln
获取多个输入

编辑:如果插入多个单词,则会出现错误“扫描:预期换行”,对此我能做些什么

    var username string
    print("Username: ")
    _, err := fmt.Scanln(&username)
    if err != nil {
            fmt.Println("Error: ", err)
    }

    var password string
    print("Password: ")
    _, err := fmt.Scanln(&password)
    if err != nil {
            fmt.Println("Error: ", err)
    }

    var status string
    print("Status: ")
    _, err := fmt.Scanln(&status)
    if err != nil {
            fmt.Println("Error: ", err)
    }

    fmt.Println(username, password, status)

您在同一范围内多次重新声明err变量。 编译器错误应该说明这一点。以下工作将起作用:

var err error
var username string

print("Username: ")
_, err = fmt.Scanln(&username)
if err != nil {
    fmt.Println("Error: ", err)
}

var password string
print("Password: ")
_, err = fmt.Scanln(&password)
if err != nil {
    fmt.Println("Error: ", err)
}

var status string
print("Status: ")
_, err = fmt.Scanln(&status)
if err != nil {
    fmt.Println("Error: ", err)
}

fmt.Println(username, password, status)
return

Thx,但我得到以下错误:“main.go:1:undefined:error”使用
var err os.error
并导入包
“os”
。最近一周,
os.Error
接口刚刚被重命名为
Error