Junior — Middle
Que tipos de programação genérica estão disponíveis na linguagem Go?
sobes.tech IA
Resposta da IA
Na linguagem Go, a programação genérica é implementada através de genéricos, que surgiram a partir da versão 1.18. Os principais tipos de genéricos em Go incluem:
- Tipos parametrizados (tipos genéricos): funções e tipos podem aceitar parâmetros de tipos, permitindo escrever código universal.
- Interfaces com restrições (restrições de tipos): estabelecem requisitos para os tipos de parâmetros, por exemplo, que o tipo suporte certos métodos ou pertença a um conjunto específico de tipos.
Exemplo de uma função genérica para um slice:
func IndexOf[T comparable](slice []T, val T) int {
for i, v := range slice {
if v == val {
return i
}
}
return -1
}
Aqui, T é um parâmetro de tipo restrito pela interface comparable, o que permite usar o operador ==. Essa função é universal para quaisquer tipos comparáveis.
Assim, o Go suporta genéricos através da parametrização de tipos e restrições, o que aumenta a flexibilidade e a reutilização do código.