golang

Golang Scanner-pakket

Golang Scanner-pakket

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 hoofd
importeer "fmt"
fun hoofd()
fmt.Printf("Hallo wereld.\n")

We kunnen het bovenstaande programma uitvoeren met het volgende commando:

ga rennen hallo.Gaan

Zodra 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 hoofd
importeren (
"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:

golang
sjoebham
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 hoofd
importeren (
"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 hoofd
importeren (
"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 hoofd
importeer "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.

Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...
Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...