在Go 中立即從標準輸入讀取字元
在Go 中,從標準輸入讀取通常需要按Enter 才能接收輸入。但是,如果您希望應用程式立即回應任何按鍵,類似於 C# 中的 Console.ReadKey(),則以下解決方案可以實現這一點。
提供的程式碼使用 stty 指令停用輸入緩衝,確保按鍵立即處理。字元回顯也被抑制以防止顯示輸入。
這裡是代碼:
package main import ( "fmt" "os" "os/exec" ) func main() { // Disable input buffering exec.Command("stty", "-F", "/dev/tty", "cbreak", "min", "1").Run() // Suppress input echoing exec.Command("stty", "-F", "/dev/tty", "-echo").Run() var b []byte = make([]byte, 1) for { os.Stdin.Read(b) fmt.Println("I got the byte", b, "("+string(b)+")") } }
當此代碼運行時,按任意鍵立即將字符字節表示形式和相應的字符返回到控制台.
以上是如何在 Go 中即時讀取標準輸入中的單一字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!