Go では、ReadString 関数は標準入力から文字列を読み取り、Return キーが押されるのを待ちます。ただし、REPL (読み取り-評価-印刷ループ) アプリケーションを構築する場合は、キー押下イベントに迅速に応答する必要があります。
ReadString に依存する代わりに、ゲーム エンジンの使用を検討してください。プラットフォームに依存しないキーボード入力処理を提供します。そのようなライブラリの 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。