Golang -kart over kart

Golang -kart over kart
Et kart er en samling av uordnede nøkkelverdipar. Kart er nyttige når vi trenger å lagre relaterte data og få tilgang til dem basert på de unike nøklene. Kart blir ofte referert til som ordbøker eller hasj i andre programmeringsspråk.

Hvis du er ny på Golang -kart, kan du sjekke opplæringen vår om emnet for å lære mer. I denne guiden vil vi fokusere på å lage og jobbe med nestede kart.

Hva er nestet kart?

Et nestet kart er ganske enkelt et kart over kart. Dette betyr at nøkkelverdiparene på det ytre kartet er et annet kart.

Golang lage nestet kart

Vi kan definere et nestet kart på samme måte som vi erklærer et normalt kart. Vi starter med å angi datatypen på nøkkelen (kart på toppnivå) og typen av verdien. Siden dette er et nestet kart, er verdien av toppnivåkartet et kart.

Et eksempelkode er som vist nedenfor:

pakkehoved
func main ()
nestet: = kart [int] kart [streng] streng
1:
"et eple",
"B": "Banan",
"C": "Kokosnøtt",
,
2:
"en te",
"B": "Kaffe",
"C": "Melk",
,
3:
"A": "italiensk mat",
"B": "Indisk mat",
"C": "Kinesisk mat",
,

Den forrige koden oppretter en enkel restaurantmeny ved hjelp av nestede kart. På det første kartet satte vi datatypen som en int. Vi erklærer deretter verdien som et typekart som inneholder nøkkelverdipar av typen streng.

Golang Print Nested Map

Vi kan skrive ut et nestet kart ved hjelp av standardutskriftsmetodene. For eksempel kan vi bruke Println -metoden fra FMT -pakken som vist:

fmt.Println (nestet)

Dette skal returnere en utgang som vist:

Kart [1: Kart [en:Eple b: Banana C: Kokosnøtt] 2: Kart [en:Te b: Kaffe C: Melk] 3: Kart [en:Italiensk mat b: Indian Food C: Chinese Food]]

Golang iterat nestet kart

Vi kan iterere over et nestet kart ved hjelp av for -loopen og en rekkeviddeoperatør. Et eksempel er gitt nedenfor:

for k, v: = rekkevidde nestet
fmt.Println (k, v)

Den forrige koden skal returnere de nestede kartene som:

1 Kart [A: Apple B: Banana C: Kokosnøtt]
2 Kart [A: Te B: Kaffe C: Melk]
3 Kart [A: Italiensk mat B: Indian Food C: Chinese Food]

For å iterere over et individuelt kart, kan vi få tilgang til det ved å bruke nøkkelen. For å iterere over det første nestede kartet (nøkkel 1), kan vi for eksempel gjøre følgende:

for k, v: = rekkevidde nestet [1]
fmt.Println (k, v)

Golang slett nestet kart

Vi kan også slette et nøkkelverdipar fra et nestet kart ved hjelp av slettemetoden. Kodebiten er som vist:

slett (nestet [1], "a")
fmt.Println (nestet)

Den forrige koden skal få tilgang til kartet med tast 1 og fjerne tasten “A” fra den resulterende ordboken.

Et eksempel resulterende utgang er gitt nedenfor:

Kart [1: Kart [b: Banana C: Kokosnøtt] 2: Kart [en:Te b: Kaffe C: Melk] 3: Kart [en:Italiensk mat b: Indian Food C: Chinese Food]]

Merk: Nøkkelen “A” er fjernet fra det første nestede kartet.

Konklusjon

Denne guiden illustrerte hvordan du jobber med nestede kart eller kart over kart. Ved hjelp av denne artikkelen lærte du hvordan du lager et nestet kart, iterert over en nestet sløyfe, og sett inn og fjerner elementer fra et nestet kart. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.