Sobes.tech
Junior — Middle

Koja je razlika između interfejsa i tipa Any u kontekstu programskog jezika?

sobes.tech АИ

Одговор од АИ

U Go-u, interface{} (prazni interfejs) i any su sinonimi: any je jednostavno alias za interface{}.

  • interface{} je interfejs bez metoda, koji može sadržavati vrednost bilo kog tipa.
  • any je uveden u Go 1.18 radi veće udobnosti i čitljivosti koda, posebno sa generičkim tipovima.

Primer:

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

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

Razlike između interfejsa sa metodama i any:

  • Interfejs sa metodama zahteva da tip implementira te metode.
  • any (prazni interfejs) ne zahteva ništa i pogodan je za skladištenje bilo koje vrednosti.

Ukratko, any je jednostavno prikladnije ime za prazan interfejs interface{}.