Baca Aksara daripada Input Standard Serta-merta dalam Go
Dalam Go, membaca daripada input standard biasanya memerlukan menekan Enter untuk menerima input. Walau bagaimanapun, jika anda mahu aplikasi anda bertindak balas dengan segera kepada mana-mana penekan kekunci, sama seperti Console.ReadKey() dalam C#, penyelesaian berikut boleh mencapainya.
Kod yang disediakan melumpuhkan penimbalan input menggunakan arahan stty, memastikan bahawa ketukan kekunci diproses serta-merta. Gema aksara juga dihalang untuk menghalang input dipaparkan.
Ini kodnya:
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)+")") } }
Apabila kod ini berjalan, menekan sebarang kekunci serta-merta mengembalikan perwakilan bait aksara dan aksara yang sepadan ke konsol .
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Aksara Tunggal daripada Input Standard Serta-merta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!