golang

Golang-Scanner-Paket

Golang-Scanner-Paket

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.gehen

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

Hauptpaket
importieren (
"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:

golang
shubham
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:

Hauptpaket
importieren (
"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:

Hauptpaket
importieren (
"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.

Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...
Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...