Go 提示多用户输入失败

Go 提示多用户输入失败,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", &

这是输出

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)  
}

如你所见,它不允许我输入2;它将退出程序。

这些症状可能发生在Windows上,其中的行可能以“
\r\n
”而不是“
\n
”结尾。尝试将显式换行符(“
\n
”)添加到
Scanf
格式。例如,
“%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)
} 
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