Sets con map[T]struct{} y el uso de clear
Aprende a implementar sets eficientes en Go usando mapas y cómo usar el builtin clear para optimizar la reutilización de memoria.
Aprende a implementar sets eficientes en Go usando mapas y cómo usar el builtin clear para optimizar la reutilización de memoria.
Aprende cuándo usar sync.RWMutex vs sync.Map y cómo evitar que el runtime de Go detenga tu proceso por accesos concurrentes.
Explica el comportamiento no determinístico de los maps en Go y la técnica para iterar sobre ellos de forma ordenada.
Aprende a usar el idiom comma-ok para diferenciar entre una clave inexistente y un valor que es igual al zero value del tipo.
Aprende la diferencia entre mapas nil y vacíos, el uso de make, la sintaxis de asignación y la importancia de la coma-ok idiom.
Aprende a usar la capacidad de los slices para evitar realocaciones costosas y presión innecesaria en el Garbage Collector.
Domina el uso de copy, el filtrado in-place y las técnicas de inserción/eliminación para optimizar el rendimiento y la gestión de memoria en Go.
Aprende cómo el backing array compartido puede causar corrupción de datos y fugas de memoria, y cómo evitarlo con la expresión de slice completa.
Explica cómo funciona la realocación de memoria en `append`, la importancia de reasignar el slice y la estrategia de crecimiento de la capacidad.
Explica la estructura interna de un slice (pointer, len, cap), el uso de backing arrays, sub-slicing y los riesgos de mutabilidad y fugas de memoria.