Junior — Middle
Čím se liší rozhraní od obecných typů v programování?
sobes.tech AI
Odpověď od AI
Rozhraní a generické typy plní různé úkoly v programování:
-
Rozhraní popisují sadu metod, které musí typ implementovat. Umožňují pracovat s různými typy prostřednictvím společného kontraktu, čímž zajišťují polymorfismus. Například rozhraní
Readerv Go definuje metoduRead(), a jakýkoli typ, který tuto metodu implementuje, může být použit jakoReader. -
Generické typy umožňují psát funkce a struktury, které pracují s různými datovými typy, přičemž zachovávají typovou bezpečnost. Jsou to parametrizované šablony, které se při použití kompilují pro konkrétní typy.
Příklad v Go:
// Rozhraní
type Reader interface {
Read(p []byte) (n int, err error)
}
// Generická funkce
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
Tímto způsobem rozhraní určují chování, a generické typy nabízejí univerzálnost kódu pro různé typy.