2013-07-30 17 views
1

我試圖掃描Go中的向上和向下箭頭鍵代碼,但它似乎沒有工作。到目前爲止,我已經試過這樣:在Go中掃描上下箭頭?

in = bufio.NewReader(os.Stdin) 
b, err := in.ReadByte() 
fmt.Println("Key code:", b, err) 

但是,當我按下向上或向下鍵,它永遠不會停止讀取(它永遠不會運行Println語句),並只顯示「^ [A」和「^ [ [B「直接在終端中。任何想法?

回答

2

我很確定你不能在沒有os系統調用的情況下輕鬆獲得原始模式輸入。看看Read a character from standard input in Go (without pressing Enter)的答案。

似乎普遍接受的解決方案是使用termbox-go,它顯然具有相當好的跨平臺能力。

+0

另外,您還可能想將termbox-go與tcell進行比較,在某些區域採用不同的設計方法。 https://github.com/gdamore/tcell這可能會更好或更糟,取決於您的需求。 – 425nesp