GoLang-Karte der Karten

Sheeraz Gul 20 Juni 2023
  1. GoLang-Karte der Karten
  2. Löschen Sie eine verschachtelte Karte
  3. Iterieren Sie über eine verschachtelte Karte
GoLang-Karte der Karten

Dieses Tutorial zeigt, wie Sie eine Karte aus Karten in GoLang erstellen.

GoLang-Karte der Karten

Die Karte der Karten oder die verschachtelte Karte ist die, bei der die Schlüssel-Wert-Paare die Werte auch die Karten sind. Das Erstellen einer Karte aus Karten ist in GoLang möglich.

Wenn wir eine Map definieren, müssen wir die Art von Schlüssel und Wert definieren. In diesem Fall kann der Schlüsseltyp int, string oder ein beliebiger anderer Typ sein, und der Werttyp ist wieder map.

Syntax:

var DemoMap = map[string]map[string]string{}

oder

var DemoMap = map[int]map[string]string{}

Wie wir sehen können, ist die DemoMap mit der Schlüsselzeichenfolge, dem int-Typ und dem Wert als Kartentyp definiert. Lassen Sie uns ein Beispiel haben.

Code:

package main
import "fmt"

func main() {
    DemoMap := map[int]map[string]string{
        1: {
            "one":   "Delftstack1",
            "two":   "Delftstack2",
            "three": "Delftstack3",
        },
        2: {
            "four": "Delftstack4",
            "five": "Delftstack5",
            "Six":  "Delftstack6",
        },
        3: {
            "seven": "Delftstack7",
            "eight": "Delftstack8",
            "nine":  "Delftstack9",
        },
        4: {
            "ten":    "Delftstack10",
            "eleven": "Delftstack11",
            "twelve": "Delftstack12",
        },
    }
    fmt.Println(DemoMap)
}

Der obige Code erstellt eine Map von Maps mit Key Integer und Value Map und druckt dann die Map.

Ausgang:

map[
    1:map[one:Delftstack1 three:Delftstack3 two:Delftstack2]
    2:map[Six:Delftstack6 five:Delftstack5 four:Delftstack4]
    3:map[eight:Delftstack8 nine:Delftstack9 seven:Delftstack7]
    4:map[eleven:Delftstack11 ten:Delftstack10 twelve:Delftstack12]]

Löschen Sie eine verschachtelte Karte

Wir können die Methode delete() von GoLang verwenden, um eine verschachtelte Karte zu löschen. Es werden zwei Parameter benötigt, einer ist die übergeordnete Karte und der andere der verschachtelte Kartenschlüssel.

Lassen Sie uns ein Beispiel haben.

Code:

package main
import "fmt"

func main() {
    DemoMap := map[int]map[string]string{
        1: {
            "one":   "Delftstack1",
            "two":   "Delftstack2",
            "three": "Delftstack3",
        },
        2: {
            "four": "Delftstack4",
            "five": "Delftstack5",
            "Six":  "Delftstack6",
        },
        3: {
            "seven": "Delftstack7",
            "eight": "Delftstack8",
            "nine":  "Delftstack9",
        },
        4: {
            "ten":    "Delftstack10",
            "eleven": "Delftstack11",
            "twelve": "Delftstack12",
        },
    }
    delete(DemoMap, 3)
    fmt.Println(DemoMap)
}

Der obige Code löscht die verschachtelte Karte bei Schlüssel 3 aus der übergeordneten Karte.

Ausgang:

map[
    1:map[one:Delftstack1 three:Delftstack3 two:Delftstack2]
    2:map[Six:Delftstack6 five:Delftstack5 four:Delftstack4]
    4:map[eleven:Delftstack11 ten:Delftstack10 twelve:Delftstack12]]

Auf ähnliche Weise können wir ein Mitglied der verschachtelten Map mit der gleichen delete()-Methode löschen, wobei der erste Parameter die verschachtelte Map und der zweite Parameter der Schlüssel ist, den wir löschen möchten.

Code:

package main
import "fmt"

func main() {
    DemoMap := map[int]map[string]string{
        1: {
            "one":   "Delftstack1",
            "two":   "Delftstack2",
            "three": "Delftstack3",
        },
        2: {
            "four": "Delftstack4",
            "five": "Delftstack5",
            "Six":  "Delftstack6",
        },
        3: {
            "seven": "Delftstack7",
            "eight": "Delftstack8",
            "nine":  "Delftstack9",
        },
        4: {
            "ten":    "Delftstack10",
            "eleven": "Delftstack11",
            "twelve": "Delftstack12",
        },
    }
    delete(DemoMap[3], "seven")
    fmt.Println(DemoMap)
}

Der obige Code löscht ein Mitglied der verschachtelten Karte bei Schlüssel 3 mit dem Mitgliedsschlüssel sieben.

Ausgang:

map[
    1:map[one:Delftstack1 three:Delftstack3 two:Delftstack2]
    2:map[Six:Delftstack6 five:Delftstack5 four:Delftstack4]
    3:map[eight:Delftstack8 nine:Delftstack9]
    4:map[eleven:Delftstack11 ten:Delftstack10 twelve:Delftstack12]]

Iterieren Sie über eine verschachtelte Karte

Um über die verschachtelte Karte zu iterieren, müssen wir die Indexnummer der Karte mit der for-Schleife angeben. Lassen Sie uns ein Beispiel haben, in dem wir eine verschachtelte Karte durchlaufen.

Code:

package main
import "fmt"

func main() {
    DemoMap := map[int]map[string]string{
        1: {
            "one":   "Delftstack1",
            "two":   "Delftstack2",
            "three": "Delftstack3",
        },
        2: {
            "four": "Delftstack4",
            "five": "Delftstack5",
            "Six":  "Delftstack6",
        },
        3: {
            "seven": "Delftstack7",
            "eight": "Delftstack8",
            "nine":  "Delftstack9",
        },
        4: {
            "ten":    "Delftstack10",
            "eleven": "Delftstack11",
            "twelve": "Delftstack12",
        },
    }
    for key, value := range DemoMap[3] {
        fmt.Println(key, value)
    }
}

Der obige Code wird die Karte an der dritten Position in der übergeordneten Karte durchlaufen.

Ausgang:

seven Delftstack7
eight Delftstack8
nine Delftstack9
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Go Map