Sobes.tech
Junior — Middle

¿Qué tipos de datos se permiten como claves para la estructura de mapa?

sobes.tech AI

Respuesta de la IA

En Go, las claves para un mapa solo pueden ser de tipos de datos que soporten la operación de comparación (comparables). Esto significa que las claves pueden ser:

  • Valores booleanos (bool)
  • Números (int, float, complex, etc.)
  • Cadenas (string)
  • Punteros
  • Interfaces, si el tipo dinámico soporta comparación
  • Estructuras, si todos sus campos son comparables

No se pueden usar slices, mapas, funciones u otros tipos no comparables como claves, ya que no soportan el operador ==.

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"