Golang itererer over kart

Golang itererer over kart
Et kart er en uordnet samling av nøkkelverdipar. Kart er raske og effektive for raske oppslag, oppdateringer og sletter med de unike nøklene.

Derfor kan det være avgjørende å lære å jobbe med kart. Denne artikkelen vil prøve å svare på noen få spørsmål angående kart på Go -programmeringsspråket.

Hvordan lage et kart

Du kan opprette et kart i GO ved å bruke syntaks som vises nedenfor:

kart [key_data_type] value_data_type

Vi starter med søkeordkartet etterfulgt av datatypen på tasten. Deretter setter vi datatypen for verdiene og til slutt et par krøllete seler.

Ovennevnte syntaks lager et tomt kart.

For å lage et tomt kart med INT -type som tastene og strengtypen som verdier, kan vi for eksempel gjøre:

var my_map map [int] streng

Hvis du ikke vil ha et tomt kart, kan du tilordne verdier under opprettelsen som vist nedenfor:

var my_map kart [int] streng 1: "a", 2: "b", 3: "c", 4: "d"

Den andre metoden for å lage et kart er å bokstavelig GO -kart. Et eksempel er som vist:

my_map: = kart [int] streng

Ovennevnte skaper et tomt kart.

GO gir deg også Make () -metoden, som du kan bruke til å lage et kart. Eksemplet nedenfor skaper et tomt kart over streng-floatpar.

my_map: = kart [streng] float64

Hvordan skrive ut et kart

Den enkleste operasjonen du kan utføre med et kart er å skrive ut det. For det kan vi bruke Println -metoden fra FMT -pakken.

pakkehoved
Importer "FMT"
FUNCMAIN ()
my_map: = kart [int] streng
1: "A",
2: "B",
3: "C",
4: "D",
5: "E",

fmt.Println (my_map)

Ovennevnte kode skal skrive ut kartet som er lagret i variabelen “MY_MAP”. Den resulterende utgangen er som vist:

Kart [1: A 2: B 3: C 4: D 5: E]

Hvordan iterere over nøkler og verdier på et kart

Itering over et kart betyr at vi får hvert påfølgende nøkkelverdi-par på kartet. Vi kan oppnå dette ved hjelp av klassikeren for Loop og Range Operator.

Et eksempel er som vist:

my_map: = kart [int] streng
1: "A",
2: "B",
3: "C",
4: "D",
5: "E",

for nøkkel, verdi: = Range my_map
fmt.Printf ("nøkkel: %d verdi: %s \ n", nøkkel, verdi)

I Go, og ringer rekkeoperatøren på et kart returnerer to verdier: nøkkelen og verdien. Å bruke for -loopen lar oss få hver tast og verdi på kartet.

Den resulterende utgangen:

Nøkkel: 5 Verdi: E
Nøkkel: 1 verdi: a
Nøkkel: 2 Verdi: B
Nøkkel: 3 Verdi: C
Nøkkel: 4 Verdi: D

Hvordan iterate tastene bare på et kart

Som nevnt returnerer du rekkevidden over et kart returnerer nøkkelen og verdiparene. Vi kan imidlertid bare hente en verdi, som vist nedenfor:

for nøkkel: = Range my_map
fmt.Println ("Key:", Key)

Eksemplet ovenfor skal bare returnere nøklene på kartet som:

Nøkkel: 2
Nøkkel: 3
Nøkkel: 4
Nøkkel: 5
Nøkkel: 1

Hvordan iterere verdier på et kart

Tilsvarende kan du hente verdiene på kartet ved å bruke syntaksen nedenfor:

for _, verdi: = Range my_map
fmt.Println ("Verdi:", verdi)

Produksjon:

Verdi: a
Verdi: b
Verdi: c
Verdi: d
Verdi: e

Konklusjon

Du kan iterere over nøkkelen og verdiene på et kart ved hjelp av Operatøren. Du kan også filtrere og bare få tastene eller verdiene som vises i denne guiden.

Glad koding!