Golang sjekk om tasten på kart

Golang sjekk om tasten på kart
Et kart refererer til en uordnet samling av nøkkelverdipar. På andre programmeringsspråk blir kart referert til med forskjellige navn som hasj, ordbøker, assosiativ matrise eller et uordnet kart.

Uansett hva navnet måtte være, er kart utrolig allsidige og gir en enkel og rask måte å hente, oppdatere eller slette data ved hjelp av tastene.

I denne vennlige opplæringen lærer du hvordan du kan sjekke om det finnes en nøkkel på et kart ved hjelp av Go -programmeringsspråket.

Det grunnleggende

Før vi sjekker om et kart er i en nøkkel, la oss starte med hvordan du lager et kart i Go.

For å lage et kart i Go, bruk syntaks for eksempelet nedenfor:

kart [key_data_type] verdier_data_type // Oppretter et tomt kart
kart [key_data_type] value_data_type key_1: value_1, ..., key_n: value_n // kart med data

Eksemplet nedenfor skaper et kart over strenger:

my_map: = kart [int] streng
1: "Ubuntu",
2: "Debian"
3: "Fedora"
4: "OpenSuse"
5: "Manjaro",

Hente verdier i kart

Vi må hente en verdi tilknyttet en spesifikk nøkkel i et kart i de fleste tilfeller. Go gir oss en veldig enkel metode for å utføre denne oppgaven.

Syntaksen er som vist:

map_name [nøkkel]

Vi kan få tilgang til en verdi som er lagret i en bestemt nøkkel ved å ringe kartnavnet og passere målnøkkelen inne i et par firkantede parenteser.

Et eksempel er som vist:

fmt.Println (my_map [4])

Ovennevnte bør hente verdien i nøkkel nummer 4. Den resulterende utgangen er som vist:

$ go run check_if_key_exists.gå
OpenSUSE

Selv om dette er en enkel teknikk for å hente en verdi basert på en nøkkel, kan den noen ganger forvirre om en nøkkel ikke er i et kart.

Hva skjer når du prøver å hente en verdi for en ikke-eksisterende nøkkel?

fmt.Println (my_map [0])
...> 0

Ovennevnte kode returnerer 0 siden det ikke er noen nøkkel "0" her.

Men hva om du hadde en nøkkel som holder den faktiske verdien “0”? Hvordan kan du fortelle om nøkkelen ikke er der eller verdien er 0?

Sjekk om tasten finnes i MAP

Derfor er det forsvarlig å ha en måte å fortelle om en nøkkel er der eller verdien bare er 0. Vi kan bruke syntaks som vist:

_, funnet: = map_name [nøkkel]

Den funnet parameteren har en boolsk verdi. Hvis nøkkelen er på kartet, er den funnet parameteren sann og falsk.

Hmm, kult!

Vi kan bruke denne funksjonaliteten til å implementere en betinget uttalelse basert på verdien av den funnet variabelen.

Et eksempel er som vist:

func check_if_exists ()
Tilstander: = kart [streng] streng
"CO": "Colorado",
"De": "Delaware",
"LA": ​​"Louisiana",
"Ma": "Massachusetts",
"VT": "Vermont",

Hvis _, funnet: = States ["Ma"]; funnet
fmt.Printf ("funnet")
annet
fmt.Println ("ikke funnet")

I eksemplet over bruker vi en IF -uttalelse for å sjekke om en nøkkel er på kartet ved å bruke den funnet parameteren.

Den resulterende koden er som vist:

$ go run check_if_key_exists.gå
Ikke funnet

Denne metoden vil fungere effektivt selv om verdien av den spesifiserte tasten er lik 0 eller sann/falsk.

Konklusjon

I denne artikkelen lærte du hvordan du får tilgang til verdier på et kart ved hjelp av den tilhørende tasten og sjekk om en tast er på et kart.

Takk for at du leser og lykkelig kodemodus!