当第一次使用Scanf时它获得useres输入,但第二次不使用,并返回函数.这只是在Windows上运行时的一个问题.当我在Mac上运行它时,它会按预期工作,首先询问用户的用户名和密码.以下是问题中的代码.我不确定为什么它在Mac上运行正常但在Windows上运行不正常.任何提前帮助表示赞赏.谢谢.
func credentials() (string, string) {
var username string
var password string
fmt.Print("Enter Username: ")
fmt.Scanf("%s", &username)
fmt.Print("Enter Password: ")
fmt.Scanf("%s", &password)
return username, password
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*ris 12
Scanf有点挑剔,因为它使用空格作为分隔符,并且(至少对我而言)相当不直观.Bufio很好地抽象了其中一些:
func credentials() (string, string) {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter Username: ")
username, _ := reader.ReadString('\n')
fmt.Print("Enter Password: ")
password, _ := reader.ReadString('\n')
return strings.TrimSpace(username), strings.TrimSpace(password) // ReadString() leaves a trailing newline character
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3087 次 |
| 最近记录: |