Heim > Backend-Entwicklung > Golang > Wie kann ich die Funktionalität von „getchar()' von C in Go erreichen, einschließlich der Handhabung von Tabulatortasten?

Wie kann ich die Funktionalität von „getchar()' von C in Go erreichen, einschließlich der Handhabung von Tabulatortasten?

Patricia Arquette
Freigeben: 2025-01-03 07:49:40
Original
333 Leute haben es durchsucht

How Can I Achieve the Functionality of C's `getchar()` in Go, Including Tab Key Handling?

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]))
}
Nach dem Login kopieren

Erklärung:

Dieser Go-Code verwendet die folgenden Schritte:

  1. Erstellen Sie einen bufio.Reader, um Eingaben aus der Standardeingabe zu lesen und so die Funktionalität von getchar() in effektiv wiederzugeben C.
  2. Verwenden Sie die ReadString()-Methode, um eine Eingabezeile vom Benutzer zu lesen.
  3. Konvertieren Sie das erste Byte der Eingabezeichenfolge mithilfe von Umwandlung und Typkonvertierung in ein Zeichen.
  4. Drucken Sie das Zeichen auf der Konsole aus, ähnlich dem Ausgabeformat von getchar() in C.

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!

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