在 Go 中,ReadString 函數從標準輸入讀取字串,等待按下返回鍵。然而,在建立 REPL(讀取-評估-列印循環)應用程式時,需要及時回應按鍵事件。
不要依賴 ReadString,請考慮使用遊戲引擎提供與平台無關的鍵盤輸入處理。 Azul3D 的鍵盤庫就是這樣一個庫。
該庫提供了一個鍵盤觀察器,可以監控所有按鍵的狀態。透過查詢觀察者的狀態圖,您可以確定是否按下、按住或釋放特定按鍵。
import ( "github.com/azul3d/keyboard" ) func main() { watcher := keyboard.NewWatcher() status := watcher.States() for { left := status[keyboard.ArrowLeft] if left == keyboard.Down { // The arrow left key is being held down. } } }
此程式碼迭代狀態圖,偵測目前按下的任何按鍵。然後,您可以根據按下的按鍵執行適當的操作。
以上是如何在 Go REPL 中有效處理按鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!