为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
偶然的你 2022-01-04 10:46:11
当我使用“bufio”包时,标准代码就像:input := bufio.NewScanner(os.Stdin)for input.Scan() {    // xxxxx}当我运行程序时,for 循环无法停止我输入的任何内容。我试过换行符、空格、ctrl-d、ctrl-z。根据文档,一个空白的换行符应该可以停止程序。该程序在 Windows 7 CMD 环境或 mingw-bash 下运行。
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您可以输入一些特定的字符串作为停止循环的信号。在下面的例子中,只要输入“quit”,循环就会中断。


package main


import (

    "bufio"

    "os"

)


func main() {

    input := bufio.NewScanner(os.Stdin)

    for input.Scan() {

        indata := input.Text()

        if indata == "quit" {

            break

        }

    }

}


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信