Golang Scanner -Paket

Golang Scanner -Paket

In dieser Lektion über das Scannerpaket in Golang werden wir verschiedene Beispiele dafür untersuchen, wie Scanner in der Go -Programmiersprache auf verschiedene Weise verwendet werden. Wir werden jetzt anfangen.

Beginnend mit Go

Um sicherzustellen, dass wir die Umwelt konsequent einrichten, ist hier die Verzeichnisstruktur, die ich für mein Hello World -Programm gemacht habe:

Hier ist das Programm, das wir erstellt haben:

Paket Main
importieren "fmt"
func main ()
fmt.Printf ("Hallo, Welt.\N")

Wir können das obige Programm mit dem folgenden Befehl ausführen:

Geh run Hallo.gehen

Sobald wir diesen Befehl ausgeführt haben, ist hier die Ausgabe, die Sie sehen werden:

Das sieht gut aus. Lassen Sie uns zu unserer Hauptagenda wechseln.

Scanner und Bufio -Paket in Golang

In diesem Beitrag werden wir die Bufio- und Scannerpakete durchlaufen.

Wir werden mit einem sehr einfachen Beispiel beginnen, um Strings in mehrere Wörter aufzuteilen. Lassen Sie uns das folgende Beispiel:

Paket Main
importieren (
"Bufio"
"fmt"
"Saiten"
)
func main ()
InputStr: = "Golang Shubham Linux"
Scanner: = bufio.NewsCanner (Saiten.NewReader (InputStr))
Scanner.Geteilt (bufio.Scanwords)
für Scanner.Scan ()
fmt.Println (Scanner.Text())

Die Ausgabe dieses Programms ist:

Golang
Shubham
Linux

Hier verwendete der Scanner die gepufferte Eingangsausgabe durch Lesen, die Eingang als Stream zur Verfügung stellte.

Lesen einer Datei

Versuchen wir nun, eine Datei in Go zu lesen, indem Sie bufio verwenden. Dazu erstellen wir zuerst eine Beispieldatei im selben Verzeichnis wie unser GO -Programm. Hier ist unsere Datei:

Als nächstes schreiben wir unser Programm, um diese Dateizeile nach Zeile zu lesen:

Paket Main
importieren (
"Bufio"
"fmt"
"Protokoll"
"OS"
)
func main ()
Filetoread, Fehler: = OS.Offen("./Hallo.txt")
Wenn Fehler != nil
Protokoll.Fataler Fehler)

Defer Filetoread.Schließen()
Scanner: = bufio.NewsCanner (Filetoread)
für Scanner.Scan ()
fmt.Println (Scanner.Text())

Wenn Fehler: = Scanner.Irren(); Fehler != nil
Protokoll.Fataler Fehler)

Sobald wir dieses Programm ausgeführt haben, erhalten wir hier die Ausgabe, die wir erhalten werden

Benutzereingabe mit Bufio nehmen

Dies ist die nützlichste Operation, die tatsächlich durchgeführt werden muss, wenn ein Benutzer mit der Golang -Sprache beginnt.

Wir können eine Benutzereingabe wie:

Paket Main
importieren (
"Bufio"
"fmt"
"OS"
)
func main ()
Leser: = bufio.Newreader (Betriebssystem.Stdin)
fmt.Print ("Text eingeben:")
Text, _: = Leser.ReadString ('\ n')
fmt.Println (Text)

Lassen Sie uns jetzt dieses Programm durchführen:

Nur zu beachten, es gibt eine andere Möglichkeit, Eingaben zu nutzen, wenn Sie in Ordnung sind, wenn Sie eine Whitespace darin nicht akzeptieren:

Paket Main
importieren "fmt"
var Eingangszeichenfolge
func main ()
fmt.Print ("Geben Sie Ihren Namen =")
fmt.Scanf ("%s" und eingeben)
fmt.Println ("Hallo"+Eingabe)

Lassen Sie uns jetzt dieses Programm durchführen:

Abschluss

Das Studieren, Scanner und Bufio -Paket in Go ist sehr nützlich und es ist nie möglich, genug zu bekommen. Lesen Sie weitere Beispiele für das Paket und probieren Sie so viel wie möglich selbst aus.