In deze les over het Scanner-pakket in Golang, zullen we verschillende voorbeelden bestuderen over het op meerdere manieren gebruiken van Scanners in de Go-programmeertaal. We gaan nu aan de slag.
beginnend met Go
Om er zeker van te zijn dat we de omgeving consistent hebben ingesteld, is hier de directorystructuur die ik heb gemaakt voor mijn Hello World-programma:
Dit is het programma dat we hebben gemaakt:
pakket hoofdimporteer "fmt"
fun hoofd()
fmt.Printf("Hallo wereld.\n")
We kunnen het bovenstaande programma uitvoeren met het volgende commando:
ga rennen hallo.GaanZodra we deze opdracht hebben uitgevoerd, is hier de uitvoer die u zult zien:
Nou dat ziet er goed uit. Laten we naar onze hoofdagenda gaan.
Scanner en Bufio-pakket in Golang
In dit bericht zullen we de bufio- en scannerpakketten doornemen.
We beginnen met een heel eenvoudig voorbeeld om Strings in meerdere woorden te splitsen. Laten we naar het volgende voorbeeld gaan:
pakket hoofdimporteren (
"bufio"
"fmt"
"snaren"
)
fun hoofd()
inputStr := "golang shubham linux"
scanner := bufio.NewScanner(strings.NewReader(inputStr))
scanner.Split(bufio).ScanWoorden)
voor scanner.Scannen()
fmt.Println(scanner).Tekst())
De output van dit programma zal zijn:
golangsjoebham
linux
Hier gebruikte Scanner gebufferde invoeruitvoer door de verstrekte invoer als een stream te lezen.
Een bestand lezen
Laten we nu proberen een bestand in Go te lezen, waarbij we bufio gebruiken om een bestand regel voor regel te lezen. Om dit te doen, maken we eerst een voorbeeldbestand in dezelfde map als ons Go-programma. Hier is ons bestand:
Vervolgens schrijven we ons programma om dit bestand regel voor regel te lezen:
pakket hoofdimporteren (
"bufio"
"fmt"
"loggen"
"os"
)
fun hoofd()
fileToRead, fout := os.Open("./Hallo.tekst")
als fout != nul
log.Fatale fout)
bestand uitstellenToRead.Dichtbij()
scanner := bufio.NieuweScanner(bestand Naar Lezen)
voor scanner.Scannen()
fmt.Println(scanner).Tekst())
als fout := scanner.Fout(); fout != nul
log.Fatale fout)
Zodra we dit programma hebben uitgevoerd, is hier de uitvoer die we zullen krijgen
Gebruikersinvoer opnemen met bufio
Dit is de meest bruikbare bewerking die daadwerkelijk moet worden uitgevoerd wanneer een gebruiker begint met de Golang-taal.
We kunnen een gebruikersinvoer nemen zoals:
pakket hoofdimporteren (
"bufio"
"fmt"
"os"
)
fun hoofd()
lezer := bufio.NewReader(os.standaard)
fmt.Print("Voer tekst in: ")
tekst, _ := lezer.ReadString('\n')
fmt.Println(tekst)
Laten we dit programma nu uitvoeren:
Om op te merken, er is een andere manier om invoer te krijgen als je OK bent en GEEN spatie erin accepteert:
pakket hoofdimporteer "fmt"
var invoertekenreeks
fun hoofd()
fmt.Print("Voer uw naam in=")
fmt.Scanf("%s",&invoer)
fmt.Println("Hallo "+invoer)
Laten we dit programma nu uitvoeren:
Conclusie
Om te studeren, is Scanner en Bufio-pakket in Go erg handig en het is nooit mogelijk om genoeg te krijgen. Lees meer voorbeelden voor het pakket en probeer zoveel mogelijk zelf.