Junior — Middle
¿Qué tipos de datos pueden actuar como clave en un contenedor map?
sobes.tech AI
Respuesta de la IA
En Go, la clave en un mapa solo puede ser de tipos de datos que sean comparables (comparable). Esto significa que debe estar definido el operador == para la clave.
Tipos de clave adecuados:
- Valores booleanos (
bool) - Números (
int,float64,uint8, etc.) - Cadenas (
string) - Punteros
- Canales
- Interfaces, si el tipo dinámico es comparable
- Estructuras cuyos campos sean comparables
No se puede usar como clave:
- Slices (
slice) - Mapas (
map) - Funciones
Ejemplo:
m := make(map[string]int)
m["key"] = 42
// Estructura con campos comparables
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Un punto"
Si se intenta usar un tipo no comparable como clave, el compilador dará un error.