Sobes.tech
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).