Mapas en Go: creación, acceso y manipulación de datos clave-valor
Clase 11 de 28 • Curso de Go
Contenido del curso
- 8

Uso de la sentencia switch en Go para selección condicional
07:16 - 9

Declaración y uso básico de arreglos en Go
06:56 - 10

Creación y uso de slices dinámicos en Go
08:26 - 11

Mapas en Go: creación, acceso y manipulación de datos clave-valor
09:38 - 12

Cómo crear y usar funciones personalizadas en Go
07:09 - 13

Funciones con múltiples valores de retorno en Go
07:43 - 14

Funciones variádicas en Go para múltiples parámetros
07:11 - 15

Funciones recursivas en Go para cálculos matemáticos
06:12 - 16

Punteros en Go para optimizar rendimiento del sistema
05:20 - 17

Runas y caracteres Unicode en Go: optimización de memoria
06:41 - 18

Declaración y uso de estructuras de datos en Go
09:07 - 19

Implementación de enumeradores en Go para controlar estados
09:32
- 20

Errores personalizados en Go para mejor depuración
08:25 - 21

Go routines y channels: programación asíncrona en Go
10:53 - 22

Operador select para controlar Go routines y canales en Go
06:44 - 23

Implementación de timeouts en Go con select y time.After
05:50 - 24

Implementación práctica de workers con canales y goroutines en Go
09:43
Los Maps en el lenguaje Go representan una estructura poderosa y flexible para gestionar datos organizados en pares clave-valor (key-value). Esta herramienta, también conocida como diccionario en otros lenguajes como Python, Java o C, ofrece diversas funciones y métodos para ayudarte a organizar y acceder fácilmente a tu información.
¿Qué son los Maps en Go y cómo se crean?
En Go, los Maps almacenan elementos en pares de clave-valor. Puedes considerarlos similares a los diccionarios en otros lenguajes de programación. Su creación es sencilla, utilizando la función make. Por ejemplo:
mapa := make(map[string]int)
mapa["amin"] = 4
mapa["Espinoza"] = 8
En este ejemplo, cada clave es una cadena (string) y su valor un entero (int). Puedes agregar tantas claves y valores como necesites.
¿Cómo acceder a los valores del Map?
Para consultar un dato específico, basta con referirte a su clave:
versionUno := mapa["Espinoza"] // Devuelve 8
fmt.Println(versionUno)
versionDos := mapa["amin"] // Devuelve 4
fmt.Println(versionDos)
Es una operación simple y directa para obtener información almacenada.
¿Cómo verificar la existencia de un dato?
Puedes usar la sintaxis especial de guion bajo (underscore) y añadir una segunda variable:
_, dato := mapa["amin"]
fmt.Println(dato) // Devuelve true si existe el dato.
Si el valor existe, obtendrás true.
¿Obtener la longitud de un Map en Go?
Como con slices o arreglos, puedes obtener cuántos registros existen en el mapa utilizando la función len:
fmt.Println(len(mapa)) // Devuelve la longitud del mapa
¿Cómo eliminar registros en los Maps?
Para borrar elementos específicos, Go ofrece el método delete:
delete(mapa, "amin") // Elimina únicamente la clave "amin".
Si necesitas limpiar el mapa completo, utiliza el método clear:
clear(mapa) // Borra todos los registros.
Ambos métodos permiten gestionar el contenido del mapa según tus necesidades.
¿Cómo comparar mapas en Go?
Para verificar si dos mapas son iguales, Go tiene soporte para comparaciones mediante el método maps.Equal():
import "maps"
nuevoMapaUno := map[string]int{"Miranda": 7, "Espinoza": 8}
nuevoMapaDos := map[string]int{"Miranda": 7, "Espinoza": 8}
if maps.Equal(nuevoMapaUno, nuevoMapaDos) {
fmt.Println("Los mapas son iguales")
}
Esta función permite determinar con rapidez si ambos mapas contienen idénticos pares clave-valor.
Usar Maps eficientemente puede facilitar y agilizar el manejo de grandes fuentes de datos organizados.