Sobes.tech
Junior — Middle

Sú rozhrania bez metód a rozhranie, ktoré umožňuje akékoľvek typy, ekvivalentné?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa rozhraním, ktoré ne obsahuje žiadne metódy, sa nazýva prázdne rozhranie interface{}. Je to univerztny typ, ktorý môže obsahovať hodnotu akéhokoľvek typu.

Rozhranie bez metód a rozhranie, ktoré umožňuje akékoľvek typy, sú v podstate rovnaké, pretože prázdne rozhranie nekladie žiadne obmedzenia na typy, ktoré môže obsahovať.

Príklad:

var x interface{} // prázdne rozhranie
x = 42           // môže byť priradené int
x = "ahoj"      // môže byť priradené string

Týmto spôsobom je prázdne rozhranie spôsob, ako v jazyku Go vyjadriť "akýkoľvek typ". Rozhranie bez metód a rozhranie, ktoré umožňuje akékoľvek typy, sú to isté.