Junior — Middle
Que métodos e ferramentas conhece para implementar a programação genérica nos seus projetos?
sobes.tech IA
Resposta da IA
No Go, para implementar programação genérica, usam-se genéricos, que surgiram a partir da versão Go 1.18.
Ferramentas e métodos principais:
- Tipos parametrizados (genéricos) — permitem escrever funções, estruturas e métodos que funcionam com diferentes tipos de dados, sem duplicar código.
- Interfaces com restrições (constraints) — estabelecem requisitos para os tipos que podem ser usados em genéricos.
Exemplo de função com genéricos:
package main
import "fmt"
func SumIntsOrFloats[T int | float64](slice []T) T {
var sum T
for _, v := range slice {
sum += v
}
return sum
}
func main() {
ints := []int{1, 2, 3}
floats := []float64{1.1, 2.2, 3.3}
fmt.Println(SumIntsOrFloats(ints)) // 6
fmt.Println(SumIntsOrFloats(floats)) // 6.6
}
Antes do surgimento dos genéricos, usava-se frequentemente a interface{} e a conversão de tipos, mas isso é menos seguro e menos eficiente.