Sobes.tech
Junior — Middle

Care este diferența dintre interfață și tipul Any în contextul limbajului de programare?

sobes.tech AI

Răspuns de la AI

În Go, interface{} (interfață goală) și any sunt sinonime: any este pur și simplu un alias pentru interface{}.

  • interface{} este o interfață fără metode, care poate conține o valoare de orice tip.
  • any a fost introdus în Go 1.18 pentru confort și lizibilitate, mai ales în contextul generics.

Exemplu:

var a any = 42
var b interface{} = "salut"

fmt.Println(a) // 42
fmt.Println(b) // salut

Diferențe între o interfață cu metode și any:

  • Interfața cu metode necesită ca tipul să implementeze aceste metode.
  • any (interfață goală) nu necesită nimic și este potrivit pentru stocarea oricărei valori.

Pe scurt, any este doar un nume mai convenabil pentru interfața goală interface{}.