Junior — Middle
Ce tipuri de date sunt permise ca chei pentru structura map?
sobes.tech AI
Răspuns de la AI
În Go, cheile pentru map pot fi doar acele tipuri de date care suportă operația de comparație (comparabile). Aceasta înseamnă că cheile pot fi:
- Valori booleene (bool)
- Numere (int, float, complex etc.)
- Șiruri de caractere (string)
- Poinți
- Interfețe, dacă tipul dinamic suportă comparația
- Structuri, dacă toate câmpurile lor sunt comparabile
Nu se pot folosi slice-uri, hărți, funcții și alte tipuri necomparabile ca chei, deoarece acestea nu suportă operatorul ==.
Exemplu:
m := make(map[string]int)
m["key"] = 42
// Struct cu câmpuri comparabile
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Un punct"