如何打破scanner.scan() for 循环?

当我使用“bufio”包时,标准代码就像:


input := bufio.NewScanner(os.Stdin)

for input.Scan() {

    // xxxxx

}

当我运行程序时,for 循环无法停止我输入的任何内容。我试过换行符、空格、ctrl-d、ctrl-z。根据文档,一个空白的换行符应该可以停止程序。


该程序在 Windows 7 CMD 环境或 mingw-bash 下运行。


偶然的你
浏览 165回答 1
1回答

30秒到达战场

您可以输入一些特定的字符串作为停止循环的信号。在下面的例子中,只要输入“quit”,循环就会中断。package mainimport (    "bufio"    "os")func main() {    input := bufio.NewScanner(os.Stdin)    for input.Scan() {        indata := input.Text()        if indata == "quit" {            break        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go