1 回答

TA貢獻1802條經驗 獲得超5個贊
go generate generate.go
將forkmain.go
使用 exec.Command
,go generate
沒有設置stdin
for main.go
,所以main.go
無法讀取鍵盤輸入os.Stdin
。
另一種方法是直接從/dev/tty
(unix) 或 System API(win) 讀取鍵盤事件:
package main
import (
"fmt"
"log"
"github.com/eiannone/keyboard"
)
func main() {
if err := keyboard.Open(); err != nil {
panic(err)
}
defer func() {
_ = keyboard.Close()
}()
for isFileOk := checkFile(); !isFileOk; {
log.Println("File requires manual update.")
log.Println("Hit [RETURN] when resolved.")
char, key, err := keyboard.GetKey()
if err != nil {
panic(err)
}
fmt.Println(char, key, err)
if key == keyboard.KeyEsc {
return
}
}
}
func checkFile() bool {
return false
}
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報