Junior — Middle
Aký je rozdiel medzi rozhraním a typom Any v kontexte programovacieho jazyka?
sobes.tech AI
Odpoveď od AI
V jazyku Go sú interface{} (prázdne rozhranie) a any synonymá: any je len alias pre interface{}.
interface{}je rozhranie bez metód, ktoré môže obsahovať hodnotu akéhokoľvek typu.anybol zavedený v Go 1.18 pre väčší komfort a čitateľnosť kódu, najmä s generikami.
Príklad:
var a any = 42
var b interface{} = "ahoj"
fmt.Println(a) // 42
fmt.Println(b) // ahoj
Rozdiely medzi rozhraním s metódami a any:
- Rozhranie s metódami vyžaduje, aby typ tieto metódy implementoval.
any(prázdne rozhranie) nevyžaduje nič a je vhodné na uloženie akéhokoľvek hodnoty.
Stručne povedané, any je len pohodlnejší názov pre prázdne rozhranie interface{}.