Heim > Artikel > Backend-Entwicklung > Können Slices in Go als Kartenschlüssel verwendet werden?
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 Karte hat einen Schlüsseltyp von String, der eine String-Darstellung des String-Slices ist. Der Werttyp der Karte ist bool.
Das obige ist der detaillierte Inhalt vonKönnen Slices in Go als Kartenschlüssel verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!