Sobes.tech
Senior

¿Qué puedes contarme sobre map en Go?

sobes.tech AI

Respuesta de la IA

En Go, un mapa es un tipo de dato incorporado que implementa un array asociativo o diccionario, donde las claves se asignan a valores.

Características del mapa en Go:

  • Las claves y los valores tienen tipos definidos, por ejemplo, map[string]int — claves de cadena, valores enteros.
  • El mapa se inicializa usando la función make, por ejemplo: m := make(map[string]int).
  • Acceso a los elementos mediante m[key].
  • Si la clave no existe, se devuelve el valor cero del tipo de valor.
  • Se puede verificar la existencia de una clave con el segundo valor de retorno: val, ok := m[key].
  • Los mapas no están ordenados, el orden de recorrido es arbitrario.
  • Los mapas no son seguros para concurrencia, para acceso concurrente se debe usar sincronización.

Ejemplo:

package main
import "fmt"

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

    val, ok := m["apple"]
    if ok {
        fmt.Println("apple:", val)
    }

    // Eliminar clave
    delete(m, "banana")
}