AD

¿Ya dominas lo básico? Un curso estructurado de Go es la vía rápida para dar el salto.

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 27 / 68

Representar un conjunto con un map

En esta lección guardarás elementos sin permitir repetidos.

Go no tiene un tipo conjunto. La convención es un map[string]bool, o mejor map[string]struct{}, aprovechando que las claves son únicas.

El código de ejemplo elimina los duplicados de una lista.

La variante con struct{} es la que verás en código serio: un struct vacío no ocupa memoria, así que solo se guarda la clave. Se escribe conjunto[x] = struct{}{}, que resulta feo la primera vez y es completamente idiomático.

Un aviso importante: el orden de recorrido de un map es aleatorio a propósito. Go lo mezcla deliberadamente para que nadie dependa de un orden que no está garantizado. Si necesitas una salida estable, hay que extraer las claves y ordenarlas.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Go directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)