go - 提示多用户输入失败

标签 go

<分区>

package main

import "fmt"

func main() {  
    var inStr string  
    var inStr2 string  
    fmt.Printf("Input? ")  
    fmt.Scanf("%s", &inStr)  
    fmt.Printf("\nOutput: %s\n", inStr)  
    fmt.Printf("Input2? ")  
    fmt.Scanf("%s", &inStr2)  
    fmt.Printf("\nOutput: %s\n", inStr2)  
}

这是输出

Input? 2
Output: 2  
Input2?   
Output:     
Success: process exited with code 0.  

如您所见,它不允许我输入 input2;它退出程序。

最佳答案

这些症状可能出现在 Windows 上,其中行可能以“\r\n”而不是“\n”结尾。尝试向 Scanf 格式添加显式换行符(“\n”)。例如,"%s\n"

package main

import "fmt"

func main() {
    var inStr string
    var inStr2 string
    fmt.Printf("Input? ")
    fmt.Scanf("%s\n", &inStr)
    fmt.Printf("\nOutput: %s\n", inStr)
    fmt.Printf("Input2? ")
    fmt.Scanf("%s\n", &inStr2)
    fmt.Printf("\nOutput: %s\n", inStr2)
} 

输出:

Input? 1

Output: 1
Input2? 2

Output: 2

关于go - 提示多用户输入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764707/

相关文章:

firebase - Firestore 批处理 - 需要超过 1 次写入的操作

go - 迭代边界与数据类型相同

firebase - Firebase Go SDK:动态链接生成(用于登录的电子邮件链接与通用动态链接)

c - 与 c 相比,Go 的二进制大小

go - 在 Go 中处理依赖关系

python - Golang中Python的 "id"函数相当于什么?

string - 如何将 float 转换为字符串

go - 如何正确捕获所有 stdout/stderr

csv - 如果匹配列值,golang csv 删除重复项

string - 在 Go 中拆分字符串列表中的字符串