U ovoj lekciji o paketu skenera u Golangu proučit ćemo razne primjere kako koristiti skenere na više načina u programskom jeziku Go. Sad ćemo započeti.
Počevši od Go
Samo da budemo sigurni da dosljedno postavljamo okruženje, evo strukture direktorija koju sam napravio za svoj program Hello World:
Evo programa koji smo stvorili:
paket glavniuvoz "fmt"
func main ()
fmt.Printf ("Zdravo, svijete.\ n ")
Gornji program možemo pokrenuti sljedećom naredbom:
idi trči zdravo.ićiJednom kada pokrenemo ovu naredbu, evo izlaza koji ćete vidjeti:
Sad to izgleda dobro. Prijeđimo na naš glavni dnevni red.
Paket skenera i Bufio u Golangu
U ovom ćemo postu proći kroz pakete bufio i skenera.
Počet ćemo s vrlo jednostavnim primjerom za razdvajanje žica u više riječi. Pogledajmo sljedeći primjer:
paket glavniuvoz (
"bufio"
"fmt"
"žice"
)
func main ()
inputStr: = "golang shubham linux"
skener: = bufio.NewScanner (nizovi.NewReader (inputStr))
skener.Split (bufio.ScanWords)
za skener.Skeniraj ()
fmt.Println (skener.Tekst())
Rezultat ovog programa bit će:
golangshubham
linux
Ovdje je Scanner koristio baferirani ulazni izlaz čitajući dani ulaz kao Stream.
Čitanje datoteke
Pokušajmo sada pročitati datoteku u programu Go, koristeći bufio za čitanje datoteke red po red. Da bismo to učinili, prvo stvorimo oglednu datoteku u istom direktoriju u kojem je i naš Go program. Evo naše datoteke:
Dalje, pišemo naš program za čitanje ove datoteke red po red:
paket glavniuvoz (
"bufio"
"fmt"
"zapisnik"
"os"
)
func main ()
fileToRead, pogreška: = os.Otvorena("./zdravo.txt ")
ako je pogreška != nil
zapisnik.Fatalna greška)
odgoditi fileToRead.Zatvoriti()
skener: = bufio.NewScanner (fileToRead)
za skener.Skeniraj ()
fmt.Println (skener.Tekst())
ako je pogreška: = skener.Pogreška (); pogreška != nil
zapisnik.Fatalna greška)
Jednom kada pokrenemo ovaj program, evo rezultata koje ćemo dobiti
Unos korisničkog unosa s bufiom
Ovo je najkorisnija operacija koja se zapravo treba izvesti kada korisnik započinje s jezikom Golang.
Možemo uzeti korisnički unos poput:
paket glavniuvoz (
"bufio"
"fmt"
"os"
)
func main ()
čitač: = bufio.NewReader (os.Stdin)
fmt.Ispis ("Unesite tekst:")
tekst, _: = čitač.ReadString ('\ n')
fmt.Println (tekst)
Pokrenimo sada ovaj program:
Samo da napomenem, postoji još jedan način za unos ako ste u redu NE prihvaćajući razmak u njemu:
paket glavniuvoz "fmt"
var ulazni niz
func main ()
fmt.Ispis ("Enter Your Name =")
fmt.Scanf ("% s" i unos)
fmt.Println ("Pozdrav" + unos)
Pokrenimo sada ovaj program:
Zaključak
Za proučavanje je vrlo koristan paket Scanner i Bufio u programu Go i nikad ga nije moguće dobiti dovoljno. Pročitajte više primjera za paket i pokušajte što više sami.