Slices und Arrays als Map-Schlüssel verwenden
In Go müssen Map-Schlüssel die Operatoren == und != implementieren, um ihre Gleichheit zu vergleichen. Slices implementieren diese Operatoren nicht, daher können Slices nicht direkt als Map-Schlüssel verwendet werden. Arrays können jedoch als Map-Schlüssel verwendet werden, da sie die erforderlichen Operatoren implementieren.
Arrays als Map-Schlüssel verwenden
Sie können ein Array als Map-Schlüssel verwenden Deklarieren Sie die Karte mit dem Array-Typ als Schlüsseltyp. Zum Beispiel:
package main import "fmt" func main() { m := make(map[[2]int]bool) m[[2]int{1, 2}] = false fmt.Printf("%v", m) }
Diese Karte hat den Schlüsseltyp [2]int, der ein Array aus zwei Ganzzahlen ist. Der Werttyp der Karte ist bool.
Verwenden von Slices durch Konvertieren in Strings
Wenn Sie ein Slice als Map-Schlüssel verwenden müssen, können Sie das Slice konvertieren zu einer Zeichenfolge und verwenden Sie die Zeichenfolge als Schlüssel. Zum Beispiel:
package main import ( "fmt" "strconv" ) func main() { m := make(map[string]bool) m[strconv.Itoa([]string{"a", "b"})] = false fmt.Printf("%v", m) }
Diese Map hat einen Schlüsseltyp von String, der eine String-Darstellung des String-Slices ist. Der Werttyp der Karte ist bool.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3