In dieser Lektion zum Scanner-Paket in Golang werden wir verschiedene Beispiele zur Verwendung von Scannern auf verschiedene Weise in der Programmiersprache Go studieren. Wir fangen jetzt an.
Beginnend mit Go
Um sicherzustellen, dass die Umgebung konsistent eingerichtet ist, hier ist die Verzeichnisstruktur, die ich für mein Hello World-Programm erstellt habe:
Hier ist das von uns erstellte Programm:
Hauptpaket"fmt" importieren
func main()
fmt.Printf("Hallo Welt.\n")
Wir können das obige Programm mit dem folgenden Befehl ausführen:
geh laufen hallo.gehenSobald wir diesen Befehl ausführen, sehen Sie hier die Ausgabe:
Das sieht jetzt gut aus. Kommen wir zu unserer Hauptagenda.
Scanner- und Bufio-Paket in Golang
In diesem Beitrag werden wir die Bufio- und Scanner-Pakete durchgehen.
Wir beginnen mit einem sehr einfachen Beispiel, um Strings in mehrere Wörter aufzuteilen. Kommen wir zu folgendem Beispiel:
Hauptpaketimportieren (
"bufio"
"fmt"
"Saiten"
)
func main()
inputStr := "golang shubham linux"
Scanner := bufio.NewScanner(strings.NeuerReader(inputStr))
Scanner.Aufteilen (bufio.ScanWords)
für Scanner.Scannen()
fmt.Println (Scanner).Text())
Die Ausgabe dieses Programms wird sein:
golangshubham
Linux
Hier hat der Scanner die gepufferte Eingabeausgabe verwendet, indem die bereitgestellte Eingabe als Stream gelesen wurde.
Lesen einer Datei
Versuchen wir nun, eine Datei in Go zu lesen, indem wir bufio verwenden, um eine Datei Zeile für Zeile zu lesen. Dazu erstellen wir zunächst eine Beispieldatei im selben Verzeichnis wie unser Go-Programm. Hier ist unsere Datei:
Als nächstes schreiben wir unser Programm, um diese Datei Zeile für Zeile zu lesen:
Hauptpaketimportieren (
"bufio"
"fmt"
"Log"
"os"
)
func main()
fileToRead, Fehler := os.Öffnen("./Hallo.TXT")
wenn fehler != null
Log.Fataler Fehler)
fileToRead verschieben.Schließen()
Scanner := bufio.NeuerScanner(fileToRead)
für Scanner.Scannen()
fmt.Println (Scanner).Text())
falls Fehler := Scanner.Irren(); Error != null
Log.Fataler Fehler)
Sobald wir dieses Programm ausführen, erhalten wir hier die Ausgabe
Benutzereingaben mit bufio . aufnehmen
Dies ist die nützlichste Operation, die tatsächlich ausgeführt werden muss, wenn ein Benutzer mit der Sprache Golang beginnt.
Wir können eine Benutzereingabe annehmen wie:
Hauptpaketimportieren (
"bufio"
"fmt"
"os"
)
func main()
Leser := bufio.NeuerReader(os.Standard)
fmt.Print("Text eingeben: ")
Text, _ := Leser.ReadString('\n')
fmt.Println(Text)
Lassen Sie uns dieses Programm jetzt ausführen:
Nur um zu beachten, es gibt eine andere Möglichkeit, Eingaben entgegenzunehmen, wenn Sie kein Leerzeichen darin akzeptieren:
Hauptpaket"fmt" importieren
var Eingabezeichenfolge
func main()
fmt.Drucken("Geben Sie Ihren Namen ein=")
fmt.Scanf("%s",&Eingabe)
fmt.Println("Hallo"+Eingabe)
Lassen Sie uns dieses Programm jetzt ausführen:
Fazit
Zum Lernen ist das Scanner- und Bufio-Paket in Go 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.