Junior — Middle
Jakie typy kluczy są dozwolone do użycia w strukturze danych Map?
sobes.tech AI
Odpowiedź od AI
W Go klucze dla struktury danych map muszą być porównywalnymi (comparable) typami, czyli takimi, które można używać w operacjach porównania == i !=.
Dozwolone typy kluczy obejmują:
- Typy podstawowe:
int,float64,string,boolitp. - Wskaźniki
- Struktury, jeśli wszystkie ich pola są porównywalne
- Tablice, jeśli elementy tablicy są porównywalne
Nie dozwolone typy kluczy:
- Slicing (
slice) - Mapy (
map) - Funkcje
Przykład użycia mapy z kluczem typu string:
m := make(map[string]int)
m["apple"] = 5
fmt.Println(m["apple"]) // 5
Jeśli spróbujesz użyć slice jako klucza, kompilator zgłosi błąd.