Ein Go-Äquivalent für Cs getchar() finden
In der C-Programmierung ist getchar() eine häufig verwendete Funktion zum Lesen eines einzelnen Zeichens aus der Standardeingabe ohne Pufferung. Bietet Go eine Funktion mit ähnlicher Funktionalität, insbesondere eine, die Tabulatortastenanschläge in einer Konsolenumgebung verarbeiten kann? Diese Funktion würde sich als entscheidend für die Entwicklung von Autovervollständigungsfunktionen für eine Konsolenanwendung erweisen.
Die Go-Alternative: Eine detaillierte Aufschlüsselung
Go bietet kein direktes Äquivalent zu C's getchar( ). Wir können jedoch eine ähnliche Funktionalität mit dem folgenden Code erreichen:
package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) input, _ := reader.ReadString('\n') fmt.Printf("Input Char Is : %v", string([]byte(input)[0])) }
Erklärung:
Dieser Go-Code verwendet die folgenden Schritte:
Hinweis:
Es ist wichtig zu bedenken, dass getchar() in C erfordert, dass der Benutzer nach der Eingabe eines Zeichens die Eingabetaste drückt. Der hier vorgestellte Go-Code weist diese Einschränkung nicht auf. Wenn Sie dieses Verhalten benötigen, sollten Sie alternative Ansätze wie Curses oder Readline in Betracht ziehen, wie in der bereitgestellten Dokumentation vorgeschlagen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Funktionalität von „getchar()' von C in Go erreichen, einschließlich der Handhabung von Tabulatortasten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!