Go propone nuevos tipos de colección genéricos para Go 1.28

Fuentes: Go proposes generic collection types for the standard library

El grupo de trabajo Go Collections ha presentado una propuesta para incorporar nuevos tipos de colección genéricos a la biblioteca estándar de Go 1.28. Formado a finales de 2025 e integrado por Jonathan Amsterdam, Alan Donovan, Robert Griesemer, Daniel Martí, Roger Peppe, Keith Randall e Ian Lance Taylor, el grupo busca suplir una carencia histórica del lenguaje: la escasez de colecciones más allá del slice, el map y el contenedor heap. La llegada de los genéricos en Go 1.18 y de los iteradores en Go 1.23 permite ahora definir estas estructuras con una ergonomía comparable a la de los tipos integrados. Entre las adiciones figuran un hash/maphash.Hasher para funciones hash personalizadas, container/hash.Map y container/hash.Set basados en hashing, container/set.Set como tipo canónico de conjunto para elementos comparables, un paquete container/mapset con utilidades de conjuntos, container/ordered.Map con árbol binario balanceado, y container/heap/v2.Heap para sustituir el heap actual. La propuesta también introduce interfaces abstractas de restricción para modelar colecciones, conjuntos y mapas, abordando el llamado "problema del método binario" mediante polimorfismo F-bounded. Los autores prevén discutir en el futuro mapas hash con orden de inserción y pilas, y aclaran que el término elegido es "collection" para evitar confusión con el concepto de contenedor en Linux.