Sobes.tech
Junior — Middle

Jakie typy danych nadają się do użycia jako klucze w strukturze Map?

sobes.tech AI

Odpowiedź od AI

W języku Go klucze w strukturze map mogą być tylko typami obsługującymi operację porównania równości (== i !=). Wynika to z faktu, że do wyszukiwania wartości po kluczu konieczne jest porównanie kluczy.

Odpowiednie typy kluczy:

  • Typy proste: int, float64, string, bool itd.
  • Wskaźniki
  • Struktury, jeśli wszystkie ich pola są porównywalne
  • Tablice, jeśli elementy są porównywalne

Nie można używać jako kluczy:

  • Sliców (slice)
  • Map (map)
  • Funkcji

Przykład użycia:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Jeśli spróbujesz użyć slica jako klucza, kompilator zgłosi błąd.