我正在运行dup1 example本书The Go Programming Language(相关代码如下所示):
for input.Scan() {
counts[input.Text()]++
}
输入一些文本后,我想终止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\>
如果我在Ubuntu中运行此程序,只有Ctrl + D
有效,Ctrl + Z
停止该程序,Ctrl + C
将终止该程序。
答案 0 :(得分:8)
没人问,但是我在OSX中遇到了这个问题,而这在搜索中出现了。当在行的开头按下control-D时,Mac OSX终端识别EOF。
答案 1 :(得分:1)
对于Windows,在新行上
<Ctrl+Z><Enter>
答案 2 :(得分:1)
ctrl + shift + d
将EOF发送到终端,如果它是新行中的第一个字符。
go run main.go
> line one
> another line
> another line
> ctrl + shift + d
您应该看到输出
2 another line
如评论https://stackoverflow.com/a/21658005/1522019中所述。
您可以使用stty all
查找EOF组合。我一直做ctrl + d
,在我看来与ctrl + D
相同。