我运行的是dup1 example从The Go Programming Language书(如下图所示相关的代码):Golang:如何从终端终止bufio Scan()?
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
将终止它。
据我所知,在Windows下,EOF被映射为Ctrl + Z。也许你的终端重新映射到其他东西,看看它的配置。 – Elwinar
你确定你在一个新行的*开头键入了Ctrl + Z吗?扫描可能需要实际接收EOF。 – Aedolon