在Go 中處理鍵盤輸入提出了獨特的挑戰,因為標準ReadString 函數需要在讀取輸入之前按下返回鍵。為了克服這一限制,需要採用替代方法來單獨捕獲按鍵事件。
一個有前景的解決方案在於利用遊戲引擎庫,例如 Azul3D 的鍵盤庫。遊戲引擎通常提供與平台無關的輸入處理,使您能夠註冊各種擊鍵的回調。
例如,使用鍵盤庫,您可以建立一個監視所有按鍵狀態的觀察程式:
watcher := keyboard.NewWatcher()
接下來可以查詢watcher來取得特定按鍵的狀態,例如左箭頭key:
status := watcher.States() left := status[keyboard.ArrowLeft]
如果該鍵被按下,狀態將設定為「Down」:
if left == keyboard.Down { // The arrow to left is being held down // Do something! }
透過迭代觀察者傳回的映射,您可以識別目前按下的所有按鍵並做出相應回應。
以上是如何在 Go 中讀取各個鍵盤按鍵而不等待返回?的詳細內容。更多資訊請關注PHP中文網其他相關文章!