Golang:如何从终端终止bufio Scan()?

And*_*Guo 5 go

我运行的是DUP1例如围棋编程语言的书(如下图所示相关的代码):

for input.Scan() {
    counts[input.Text()]++
}
Run Code Online (Sandbox Code Playgroud)

键入一些文本行后,我想终止该Scan()方法.我已经尝试过Ctrl + D,Ctrl + Z和许多其他组合键而没有运气.只有Ctrl + C可以工作,但也会终止程序.

如何在Scan()不退出程序的情况下终止来自终端?

我正在使用os.Stdin在Windows 7上进行开发.

[编辑]

Ctrl+Z 不起作用:

谢谢.但这对我不起作用:

C:\prj\src\gopl\>go run dup1.go
I have tried all these combinations from the terminal
^Z
^X
^V
^B
^N

^A
^D
^F
^G

^K
^L
^Q
^W
^E
^R
^T
^Y
^U
^O
^P
2(Notes: only Ctrl + C works here)

C:\prj\src\gopl\>
Run Code Online (Sandbox Code Playgroud)

如果我在Ubuntu中运行这个程序,只有Ctrl + D工作,Ctrl + Z停止程序Ctrl + C并将终止它.

小智 9

没有人问,但我在OSX中遇到了这个问题,这在搜索中出现了.当在行的开头按下control-D时,Mac OSX终端识别EOF.


pet*_*rSO 1

对于 Windows,在新行中,

<Ctrl+Z><Enter>
Run Code Online (Sandbox Code Playgroud)