Golang Range

Golang Range
Rangeoperatøren i Go lar deg iterere over forskjellige datastrukturer. Du kan iterere over kart, skiver, kanaler eller en matrise ved hjelp av for -loopen og nøkkelordet.

Ved hjelp av denne guiden vil vi lære deg hvordan du bruker rekkevidden til å iterere over forskjellige datastrukturer i Go.

Rekkevidde over kart

Du kan bruke rekkeoperatøren til å iterere over et Golang -kart. Når den brukes med en karttype, returnerer rekkeoperatøren to verdier: nøkkel og verdien.

For å returnere alle nøklene og verdiene på et kart, kan vi for eksempel gjøre:

pakkehoved
Importer "FMT"
func main ()
Brukere: = kart [int] streng
1: "Matthew K",
2: "Daniel J",
3: "Mary Y",

for nøkkel, verdi: = Range brukere
fmt.Println (tast, verdi)

I eksemplet over bruker vi rekkevidden for å få nøklene og verdiene på et kart. For bare å få verdiene på et kart, kan du gjøre:

for _, verdi: = Range brukere
fmt.Println (verdi)

For bare å få nøklene til et kart:

For nøkkel: = Range brukere
fmt.Println (tast)

Rekkevidde over matrise/skive

Vi kan også iterere over en matrise eller en skive ved hjelp av Operatøroperatøren. For eksempel:

Databaser: = [] String "MySQL", "MongoDB", "Sqlite"
for indeks, DB: = Range databaser
fmt.Println (indeks, DB)

Eksemplet ovenfor bruker rekkevidden til å iterere over varer i en skive. Den returnerer indeksen og den tilhørende verdien som:

0 mysql
1 Mongodb
2 sqlite

Rekkevidde over strengen

Vi kan også bruke rekkeoperatøren til å iterere over en streng. Husk at vi konverterer strengen til en rune -matrise. Å gjøre dette gir oss tilgang til individuelle elementer i strengen.

Et eksempel er som vist nedenfor:

Str: = "Hei"
for indeks, røye: = Range Str
fmt.Println (indeks, streng (char))

Ovennevnte bør bruke rekkeoperatøren til å iterere over en streng og returnere røye på den spesifikke indeksen. Vi bruker deretter strengmetoden for å kaste røye til strengekvivalent.

Produksjon:

0 h
1 e
2 l
3 l
4 o

Rekkevidde over kanal

Vi kan også iterere over en kanal, som vist i eksemplet nedenfor:

CH: = Make (Chan Int)
gå func ()
Ch <- 1
Ch <- 2
Ch <- 3
Lukk (CH)
()
for verdi: = rekkevidde ch
fmt.Println (verdi)

I dette eksemplet itererer vi over verdiene som er sendt til kanalen til de er lukket. Ovennevnte kode skal skrive ut:

1
2
3

Konklusjon

I denne artikkelen diskuterte vi hvordan du bruker rekkevidden til å iterere over et kart, en skive, en matrise, en streng og en kanal.

Fortsett å lære!