Heim  >  Artikel  >  Backend-Entwicklung  >  Erstellen Sie einen neuen Scanner mit der Funktion bufio.NewScanner

Erstellen Sie einen neuen Scanner mit der Funktion bufio.NewScanner

王林
王林Original
2023-07-25 09:18:191211Durchsuche

Erstellen Sie einen neuen Scanner mit der bufio.NewScanner-Funktion

In der Go-Sprache bietet das bufio-Paket einige praktische Hilfsfunktionen, darunter die NewScanner-Funktion. Diese Funktion kann ein neues Scanner-Objekt aus einem io.Reader-Objekt erstellen, um Eingaben zeilenweise zu lesen. In diesem Artikel wird die Verwendung der bufio.NewScanner-Funktion zum Erstellen eines neuen Scannerobjekts vorgestellt und ein Beispielcode zur Veranschaulichung der Verwendung bereitgestellt.

Zuerst müssen wir das bufio-Paket sowie das fmt-Paket importieren, da wir das Scanner-Objekt verwenden, um die Eingabe Zeile für Zeile zu lesen, und das fmt-Paket verwenden, um die Ergebnisse auszugeben:

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

Als nächstes können wir Verwenden Sie os.Stdin als Eingabequelle, um ein neues Scanner-Objekt zu erstellen, um die Eingabe Zeile für Zeile über die Standardeingabe zu lesen:

scanner := bufio.NewScanner(os.Stdin)

Es ​​ist erwähnenswert, dass das Scanner-Objekt ein Zeigertyp ist, daher müssen wir den Operator := verwenden, um Erstellen Sie einen Zeiger auf das Scanner-Objekt.

Jetzt können wir die Scan-Methode des Scanner-Objekts verwenden, um die Eingabe Zeile für Zeile zu lesen, und dann die Text-Methode verwenden, um den Eingabeinhalt abzurufen. Die Scan-Methode gibt „false“ zurück, wenn bis zum Ende der Datei gelesen wird oder ein Fehler auftritt. Wir können eine for-Schleife verwenden, um die Eingabe bis zum Ende der Datei weiterzulesen. Das Folgende ist ein einfacher Beispielcode:

for scanner.Scan() {
    line := scanner.Text()
    fmt.Println("输入内容:", line)
}

if err := scanner.Err(); err != nil {
    fmt.Fprintln(os.Stderr, "读取输入失败:", err)
    os.Exit(1)
}

Im obigen Beispielcode verwenden wir eine for-Schleife, um die Eingabe kontinuierlich zu lesen. Nachdem jede Eingabezeile gelesen wurde, verwenden wir die Text-Methode, um den Eingabeinhalt abzurufen und übergeben fmt Die . Die Println-Funktion gibt die Ausgabe auf der Standardausgabe aus.

Abschließend verwenden wir die Funktion scanner.Err, um zu überprüfen, ob beim Lesen der Eingabe ein Fehler aufgetreten ist. Wenn ein Fehler auftritt, verwenden wir die Funktion fmt.Fprintln, um die Fehlermeldung an den Standardfehlerstrom auszugeben, und rufen die Funktion os.Exit auf, um das Programm zu beenden. Dies ist eine gute Programmiergewohnheit, die uns helfen kann, Probleme zu finden und zu lösen.

Zusammenfassend lässt sich sagen, dass Sie mit der bufio.NewScanner-Funktion ganz einfach ein neues Scannerobjekt erstellen und es verwenden können, um die Eingabe Zeile für Zeile zu lesen. Ich hoffe, dass dieser Artikel den Lesern helfen kann, schnell mit der Verwendung des Scannerobjekts zu beginnen und Eingaben effizienter zu verarbeiten.

Das Obige ist der Inhalt dieses Artikels. Über die Funktion bufio.NewScanner wird ein neues Scannerobjekt erstellt. Zur Veranschaulichung seiner Verwendung wird ein entsprechender Beispielcode bereitgestellt. Ich hoffe, dass die Leser dadurch Hilfe erhalten und diese Funktion flexibel in praktischen Anwendungen nutzen können.

Das obige ist der detaillierte Inhalt vonErstellen Sie einen neuen Scanner mit der Funktion bufio.NewScanner. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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