Junior — Middle
Jaký je rozdíl mezi rozhraním a typem Any v kontextu programovacího jazyka?
sobes.tech AI
Odpověď od AI
V jazyce Go jsou interface{} (prázdné rozhraní) a any synonyma: any je pouze alias pro interface{}.
interface{}je rozhraní bez metod, které může obsahovat hodnotu libovolného typu.anybyl zaveden v Go 1.18 pro větší pohodlí a čitelnost kódu, zejména s generiky.
Příklad:
var a any = 42
var b interface{} = "ahoj"
fmt.Println(a) // 42
fmt.Println(b) // ahoj
Rozdíly mezi rozhraním s metodami a any:
- Rozhraní s metodami vyžaduje, aby typ tyto metody implementoval.
any(prázdné rozhraní) nevyžaduje nic a je vhodné pro uložení jakékoli hodnoty.
Stručně řečeno, any je jen pohodlnější název pro prázdné rozhraní interface{}.