Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen einer Schnittstelle und dem Typ Any im Kontext der Programmiersprache?

sobes.tech KI

Antwort von AI

In Go sind interface{} (leere Schnittstelle) und any Synonyme: any ist nur ein Alias für interface{}.

  • interface{} ist eine Schnittstelle ohne Methoden, die einen Wert beliebigen Typs enthalten kann.
  • any wurde in Go 1.18 eingeführt, um den Code komfortabler und lesbarer zu machen, insbesondere bei Generics.

Beispiel:

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

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

Unterschiede zwischen einer Schnittstelle mit Methoden und any:

  • Eine Schnittstelle mit Methoden erfordert, dass der Typ diese Methoden implementiert.
  • any (leere Schnittstelle) erfordert nichts und eignet sich zum Speichern beliebiger Werte.

Kurz gesagt, any ist einfach ein bequemerer Name für die leere Schnittstelle interface{}.