Sobes.tech
Junior — Middle

Wat is het verschil tussen een interface en het type Any in de context van de programmeertaal?

sobes.tech AI

Antwoord van AI

In Go zijn interface{} (lege interface) en any synoniemen: any is gewoon een alias voor interface{}.

  • interface{} is een interface zonder methoden, die een waarde van elk type kan bevatten.
  • any is geïntroduceerd in Go 1.18 voor meer gemak en leesbaarheid van de code, vooral met generics.

Voorbeeld:

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

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

Verschillen tussen een interface met methoden en any:

  • Een interface met methoden vereist dat het type deze methoden implementeert.
  • any (lege interface) vereist niets en is geschikt voor het opslaan van elke waarde.

Kortom, any is gewoon een handigere naam voor de lege interface interface{}.