Junior — Middle
Jaká omezení existují v jazyce Go, aby rozhraní nemohlo být deklarováno jako prázdné?
sobes.tech AI
Odpověď od AI
V jazyce Go může být rozhraní (interface) deklarováno jako prázdné — jedná se o speciální případ rozhraní, které neobsahuje žádné metody a označuje se jako interface{}.
Prázdné rozhraní může obsahovat hodnoty jakéhokoliv typu, protože všechny typy ho automaticky implementují.
Proto neexistují žádná omezení na deklaraci prázdného rozhraní v Go — je to platná a často používaná technika.
Pokud je otázka, jak zajistit, aby rozhraní nebylo prázdné, stačí v něm deklarovat alespoň jednu metodu:
// Prázdné rozhraní
var i interface{}
// Rozhraní s metodou
type Reader interface {
Read(p []byte) (n int, err error)
}
Tím je prázdné rozhraní základní stavební blok v Go, a na jeho deklaraci neplatí žádná omezení.