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 51 / 68

Escribir funciones genéricas

En esta lección escribirás algo que funcione con varios tipos sin duplicar el código.

Desde Go 1.18 existen los genéricos: func Mayor[T constraints.Ordered](s []T) T. Entre corchetes va el parámetro de tipo y su restricción.

El código de ejemplo devuelve el mayor de una lista, sirva de números o de textos.

Los genéricos llegaron en 2022, más de diez años después del lanzamiento del lenguaje, tras un debate muy largo. La postura de los autores era que añadían complejidad sin suficiente beneficio; lo que finalmente los justificó fueron precisamente casos como este, donde había que escribir la misma función para cada tipo.

La costumbre en Go sigue siendo usarlos con moderación. Se emplean sobre todo en utilidades de propósito general — los paquetes slices y maps están construidos con ellos — y no como estilo por defecto. Cuando una interfaz resuelve el problema, se prefiere la interfaz.

📖 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)