In questa lezione sul pacchetto Scanner in Golang, studieremo vari esempi su come utilizzare Scanner in più modi nel linguaggio di programmazione Go. Inizieremo ora.
A partire da Go
Giusto per assicurarci di avere l'ambiente configurato in modo coerente, ecco la struttura di directory che ho creato per il mio programma Hello World:
Ecco il programma che abbiamo creato:
pacchetto principaleimportare "fmt"
funzione principale()
fmt.Printf("Ciao, mondo.\n")
Possiamo eseguire il programma sopra con il seguente comando:
vai a correre ciao.partireUna volta eseguito questo comando, ecco l'output che vedrai:
Ora sembra a posto. Passiamo alla nostra agenda principale.
Scanner e pacchetto Bufio a Golang
In questo post esamineremo i pacchetti bufio e scanner.
Inizieremo con un esempio molto semplice per dividere le stringhe in più parole. Passiamo al seguente esempio:
pacchetto principaleimportazione (
"bufio"
"fm"
"stringhe"
)
funzione principale()
inputStr := "golang shubham linux"
scanner := bufio.NuovoScanner(stringhe.NewReader(inputStr))
scanner.Dividi (bufio.ScanWords)
per scanner.Scansione()
fmt.Println(scanner.Testo())
L'output di questo programma sarà:
golangshubham
linux
Qui, Scanner ha utilizzato l'output di input bufferizzato leggendo l'input fornito come Stream.
Lettura di un file
Ora proviamo a leggere un file in Go, usando bufio per leggere un file riga per riga. Per fare ciò, prima creiamo un file di esempio nella stessa directory del nostro programma Go. Ecco il nostro file:
Successivamente, scriviamo il nostro programma per leggere questo file riga per riga:
pacchetto principaleimportazione (
"bufio"
"fm"
"registro"
"os"
)
funzione principale()
fileToRead, errore := os.Aperto("./Ciao.TXT")
se errore != zero
log.Errore fatale)
rinvia fileToRead.Vicino()
scanner := bufio.NewScanner(fileToRead)
per scanner.Scansione()
fmt.Println(scanner.Testo())
se errore := scanner.Err(); errore != zero
log.Errore fatale)
Una volta eseguito questo programma, ecco l'output che otterremo
Accettare l'input dell'utente con bufio
Questa è l'operazione più utile effettivamente da eseguire quando un utente inizia con la lingua Golang.
Possiamo prendere un input dell'utente come:
pacchetto principaleimportazione (
"bufio"
"fm"
"os"
)
funzione principale()
lettore := bufio.NewReader(os.standard)
fmt.Stampa("Inserisci il testo: ")
testo, _ := lettore.ReadString('\n')
fmt.Println(testo)
Ora eseguiamo questo programma:
Solo per notare, c'è un altro modo per prendere input se stai bene NON accettando uno spazio bianco al suo interno:
pacchetto principaleimportare "fmt"
stringa di input var
funzione principale()
fmt.Print("Inserisci il tuo nome=")
fmt.Scanf("%s",&input)
fmt.Println("Ciao"+input)
Ora eseguiamo questo programma:
Conclusione
Per studiare, il pacchetto Scanner e Bufio in Go è molto utile e non se ne ha mai abbastanza. Leggi altri esempi per il pacchetto e prova il più possibile da solo.