Package 'maps': Todo lo que tienes que saber de la versión 1.21 de Go

Package 'maps': Todo lo que tienes que saber de la versión 1.21 de Go

En el ámbito de la programación en Go, la versión 1.21 introduce una nueva perspectiva sobre el Package maps. Como piedra angular de la manipulación de datos, los mapas permiten un almacenamiento y recuperación eficientes de pares clave-valor. En esta nota, profundizaremos en las funciones del Package maps de Go 1.21, capacitándote para aprovechar su potencial en la programación y gestión de datos simplificada.

El primer paso es importar el paquete 'maps' (y también importaremos el paquete 'fmt' para mostrar los ejemplos).

Vamos a crear un mapa que utilizaremos a lo largo del resto del artículo.

Y a continuación veremos los métodos:

  • Clone: podemos clonar un mapa.
  • Equal: podemos comparar 2 mapas.
  • DeleteFunc: podemos eliminar elementos del mapa.
  • Copy: podemos copiar todos los elementos del mapa a otro mapa.

Como aclaración, se eliminaron 2 métodos (Values y Keys) cuando se lanzó la versión estable 1.21. Esos métodos estaban en versión beta.

Clone

Podemos clonar un mapa, creando otro mapa:

Output:

Equal

Podemos comparar 2 mapas. Si son iguales, el método devolverá verdadero; de lo contrario, devolverá falso.

Por ejemplo:

Output:

DeleteFunc

Podemos eliminar uno o varios elementos de un mapa. En el caso de la eliminación, solo podemos utilizar la funcionalidad 'Function'.

Cuando devuelve verdadero, los pares clave/valor serán eliminados.

Ejemplo:

Eliminamos todos los elementos que tienen el valor 'one'.

Output:


Copy

Podemos copiar todos los pares clave/valor en src y agregarlos a dst.

Cuando una clave en src ya está presente en dst, el valor en dst será sobrescrito por el asociado con la clave en src.

Por ejemplo:

Output:

El paquete de maps en Go es una herramienta versátil y eficiente para gestionar pares clave-valor. Al dominar este paquete, adquirimos una habilidad fundamental para manejar diversas tareas de programación de manera efectiva.

Repositorio: https://github.com/digitalhouse-tech/blog-go-v21-maps