【发布时间】:2016-03-02 17:50:08
【问题描述】:
我正在运行The Go Programming Language中的dup1 example这本书(相关代码如下所示):
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。也许你的终端将它重新映射到其他东西,检查它的配置。 -
您确定要在换行符的开头键入 Ctrl+Z 吗?这可能是 Scan 实际接收 EOF 所必需的。
标签: go