<分区>
当我使用“bufio”包时,标准代码就像:
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
// xxxxx
}
当我运行程序时,for 循环无法停止我输入的任何内容。我试过换行符、空格、ctrl-d、ctrl-z。根据文档,一个空白的换行符应该能够停止程序。
程序运行在Windows 7 CMD环境下,即mingw-bash。
谢谢。
标签 go
<分区>
当我使用“bufio”包时,标准代码就像:
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
// xxxxx
}
当我运行程序时,for 循环无法停止我输入的任何内容。我试过换行符、空格、ctrl-d、ctrl-z。根据文档,一个空白的换行符应该能够停止程序。
程序运行在Windows 7 CMD环境下,即mingw-bash。
谢谢。
最佳答案
您可以输入一些特定的字符串作为停止循环的信号。在下面的示例中,只要输入“quit”,循环就会中断。
package main
import (
"bufio"
"os"
)
func main() {
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
indata := input.Text()
if indata == "quit" {
break
}
}
}
关于go - 如何打破 scanner.scan() for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549600/