Sobes.tech
Middle+

Cosa sono i generici in Go? Li hai già usati?

sobes.tech AI

Risposta dell'AI

I generici in Go sono un meccanismo di parametrizzazione dei tipi che consente di scrivere funzioni, strutture e interfacce che funzionano con diversi tipi di dati senza duplicare il codice. I generici sono stati introdotti per la prima volta in Go a partire dalla versione 1.18.

Esempio di utilizzo dei generici per una funzione che restituisce il primo elemento di uno slice:

package main
import "fmt"

func First[T any](slice []T) T {
    return slice[0]
}

func main() {
    nums := []int{1, 2, 3}
    words := []string{"ciao", "mondo"}

    fmt.Println(First(nums))  // 1
    fmt.Println(First(words)) // ciao
}

Ho usato i generici per scrivere contenitori e utilità generici, il che riduce significativamente la duplicazione del codice e migliora la leggibilità.