Heim > Backend-Entwicklung > Golang > Wie implementiert man eine Go-Funktion, die „getchar()' von C entspricht?

Wie implementiert man eine Go-Funktion, die „getchar()' von C entspricht?

Susan Sarandon
Freigeben: 2024-12-18 17:34:11
Original
825 Leute haben es durchsucht

How to Implement a Go Function Equivalent to C's `getchar()`?

Go-Funktion äquivalent zu getchar von C

getchar(), eine Funktion in C, ermöglicht es Benutzern, ein einzelnes Zeichen von der Konsole zu lesen. Diese Funktionalität ist für Anwendungen wie Konsolenvervollständigungen wünschenswert. In Go kann eine ähnliche Funktion mit dem bufio-Paket implementiert werden.

Go getchar()-Implementierung

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    input, _ := reader.ReadString('\n')
    fmt.Printf("Input Character: %v", string([]byte(input)[0]))
}
Nach dem Login kopieren

Einschränkungen von getchar()

Im Fall der Tab-Vervollständigung ist getchar() jedoch möglicherweise keine ideale Lösung. Im Gegensatz zu getchar(), bei dem zum Erfassen der Eingabe die Eingabetaste gedrückt werden muss, sind Funktionen wie getch(), readline oder jLine von ncurses so konzipiert, dass sie einen einzelnen Tastendruck erfassen, ohne dass die Eingabetaste erforderlich ist.

Alternativen zu getchar() für die Tab-Vervollständigung

Für die Tab-Vervollständigung sollten Sie diese Alternative in Betracht ziehen Lösungen:

  • Ncurses/readline-Bindungen verwenden: Beispielsweise stellen Bibliotheken wie https://code.google.com/p/goncurses/ ncurses-Bindungen bereit.
  • Implementieren Sie Ihre eigene Lösung: Nutzen Sie Ressourcen wie https://play.golang.org/p/plwBIIYiqG als Ausgangspunkt.
  • Externe Befehle aufrufen:Führen Sie Befehle wie stty oder jLine mit aus os.Exec.

Referenzen:

  • https://groups.google.com/forum/?fromgroups=#!topic/golang -nuts/zhBE5MH4n-Q
  • https://groups.goog le.com/forum/?fromgroups=#!topic/golang-nuts/S9AO_kHktiY
  • https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/icMfYF8wJCk

Das obige ist der detaillierte Inhalt vonWie implementiert man eine Go-Funktion, die „getchar()' von C entspricht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage