Senior
Jakie typy danych można użyć jako klucza dla mapy? Czy można użyć tablicy jako klucza?
sobes.tech AI
Odpowiedź od AI
W Go kluczem do mapy może być dowolny typ obsługujący operację porównania == i !=. Oznacza to, że klucze mogą być typami podstawowymi (int, string, bool itp.), wskaźnikami, strukturami, jeśli wszystkie ich pola są porównywalne, a także interfejsami, jeśli typ dynamiczny jest porównywalny.
Tablice w Go są porównywalne, jeśli ich elementy są porównywalne, dlatego tablice mogą być używane jako klucze w mapie. Na przykład:
m := make(map[[3]int]string)
m[[3]int{1, 2, 3}] = "wartość"
Jednak slices nie mogą być używane jako klucze, ponieważ nie są porównywalne (z wyjątkiem porównania z nil).