27

アプリに次のように表示させたい:

press any key to exit ...

任意のキーを押したときに終了します。

どうすればこれを達成できますか?

注: Google で検索しましたが、見つけたものはすべて最後に押す必要がありましEnterた。Console.ReadKey()私はC#のようなものが欲しいです。

MS Windows を実行しています。

4

7 に答える 7

15

termbox-goは軽量の Go ネイティブ パッケージで、基本的な端末制御を提供します。raw モードで入力を取得する機能 (デフォルトの行バッファ動作なしで一度に 1 文字を読み取る) を含みます。

また、異なるシステム間でかなり良好な互換性があります。

また、keyboardは termbox-go を拡張して、マルチキー ショートカットやシーケンスなどの追加のキーボード機能を提供します。

于 2013-03-01T14:34:08.523 に答える
11

go-termbox は非常に重いです。端末ウィンドウ全体を占有しようとしています。たとえば、起動時に画面がクリアされますが、これは望ましくない場合があります。

これをOSXにまとめました。ちょっとした getchar():

https://github.com/paulrademacher/climenu/blob/master/getchar.go

于 2015-08-14T21:10:28.337 に答える
9

このライブラリ(私のもの)を使用できます:https://github.com/eiannone/keyboard

これは、1 つのキーストロークを取得する例です。

char, _, err := keyboard.GetSingleKey()
if (err != nil) {
    panic(err)
}
fmt.Printf("You pressed: %q\r\n", char)
于 2016-05-05T13:39:36.223 に答える
2

raw モードの端末から 1 回のキー押下を読み取ることができます。これは、プログラムに生の端末モードを提供するパッケージです。注意: これは Linux のみです。

于 2013-03-01T14:27:48.433 に答える