我正在尝试编写一个程序,每当按下cntrl + c时打印“等待”,并继续打印1到10之间的数字。否则,应打印1到10之间的数字,每个数字之间要有10秒的延迟但是,每当我单击并且没有打印“ wait”时,都无法识别control + c,只有1到10之间的数字可以识别。
func main() {
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
go func() {
for sig := range c {
fmt.Print(sig)
fmt.Print("WAIT")
}
}()
for i := 1; i <= 10; i++ {
fmt.Println(i)
time.Sleep(time.Second)
}
}
答案 0 :(得分:1)
您需要确保将终端或终端仿真器设置设置为可以执行的操作。终端驱动程序会进行大量筛选。例如,在Enunchs上,键被转换为发送到应用程序,然后以的形式回显到终端。
您的终端驱动程序可能会忽略。可能是在passthu模式下,它只是作为字符发送到您的应用程序。
如何进行此类设置取决于您的操作系统。