Qual è la differenza tra interfacce e tipi generici nella programmazione?
sobes.tech AI
Risposta dell'AI
Le interfacce e i tipi generici affrontano compiti diversi nella programmazione:
-
Le interfacce descrivono un insieme di metodi che un tipo deve implementare. Permettono di lavorare con diversi tipi attraverso un contratto comune, garantendo il polimorfismo. Ad esempio, l'interfaccia
Readerin Go definisce il metodoRead(), e qualsiasi tipo che implementa questo metodo può essere usato comeReader. -
I tipi generici consentono di scrivere funzioni e strutture che lavorano con diversi tipi di dati, mantenendo la sicurezza dei tipi. Sono modelli parametrizzati per tipi che vengono compilati per tipi specifici all'uso.
Esempio in Go:
// Interfaccia
type Reader interface {
Read(p []byte) (n int, err error)
}
// Funzione generica
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
In questo modo, le interfacce definiscono il comportamento, e i tipi generici offrono versatilità nel codice per diversi tipi.