V tej lekciji o paketu Scanner v Golangu bomo preučili različne primere, kako uporabljati skenerje na več načinov v programskem jeziku Go. Zdaj bomo začeli.
Začenši z Go
Da bi zagotovili dosledno nastavitev okolja, je tukaj struktura imenikov, ki sem jo naredil za svoj program Hello World:
Tukaj je program, ki smo ga ustvarili:
glavni paketuvoz "fmt"
func main ()
fmt.Printf ("Pozdravljen, svet.\ n ")
Zgornji program lahko zaženemo z naslednjim ukazom:
pojdi teči zdravo.pojdiKo zaženemo ta ukaz, bomo videli izhod:
Zdaj je to videti dobro. Pojdimo na naš glavni program.
Paket optičnega bralnika in Bufio v Golangu
V tej objavi bomo pregledali pakete bufio in skener.
Začeli bomo z zelo preprostim primerom razdelitve nizov na več besed. Poglejmo naslednji primer:
glavni paketuvoz (
"bufio"
"fmt"
"strune"
)
func main ()
inputStr: = "golang shubham linux"
skener: = bufio.NewScanner (nizi.NewReader (inputStr))
optični bralnik.Split (bufio.ScanWords)
za optični bralnik.Skeniraj ()
fmt.Println (optični bralnik.Besedilo ())
Rezultat tega programa bo:
golangshubham
linux
Tu je Scanner uporabil medpomnilnik vhodnega izhoda, tako da je vhod prebral kot tok.
Branje datoteke
Zdaj poskusimo prebrati datoteko v storitvi Go in z uporabo datoteke bufio prebrati datoteko po vrsticah. Za to najprej ustvarimo vzorčno datoteko v istem imeniku kot naš program Go. Tu je naša datoteka:
Nato napišemo naš program za branje te datoteke po vrsticah:
glavni paketuvoz (
"bufio"
"fmt"
"dnevnik"
"os"
)
func main ()
fileToRead, napaka: = os.Odprto("./zdravo.txt ")
če napaka != nič
log.Usodna napaka)
defer fileToRead.Zapri ()
skener: = bufio.NewScanner (fileToRead)
za optični bralnik.Skeniraj ()
fmt.Println (optični bralnik.Besedilo ())
če je napaka: = optični bralnik.Napaka (); napaka != nič
log.Usodna napaka)
Ko zaženemo ta program, dobimo rezultate, ki jih bomo dobili
Uporabniški vnos z bufio
To je najbolj uporabna operacija, ki jo je treba dejansko izvesti, ko uporabnik začenja z jezikom Golang.
Uporabimo lahko uporabniški vnos, kot je:
glavni paketuvoz (
"bufio"
"fmt"
"os"
)
func main ()
bralec: = bufio.NewReader (os.Stdin)
fmt.Natisni ("Vnesite besedilo:")
besedilo, _: = bralnik.ReadString ('\ n')
fmt.Println (besedilo)
Zaženimo ta program zdaj:
Samo opozoriti, obstaja še en način za vnos, če ste v redu, NE sprejema presledka v njem:
glavni paketuvoz "fmt"
niz vnosa var
func main ()
fmt.Natisni ("Enter Your Name =")
fmt.Scanf ("% s" in vnos)
fmt.Println ("Pozdravljeni" + vnos)
Zaženimo ta program zdaj:
Zaključek
Paket Scanner in Bufio v programu Go je zelo koristen in nikoli ga ni mogoče dobiti dovolj. Preberite več primerov za paket in poskusite čim več sami.