Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen der zugeordneten Schnittstelle {} und der Typstruktur {}?
Ich habe gerade gelesen, dass „map[Type]interface{} eine Zuordnung von Schlüsseln vom Typ „Type“ mit dem Wert „any“ angibt, also „interface{}“.
Ist das nicht fast dasselbe wie das Definieren einer Struktur, d. h. Typ Name struct{ key1; value1, ...., keyn: valuen}?
Was ist der Unterschied zwischen diesen beiden Arten der Zuordnung?
Ich habe https://www.digitalocean.com/community/tutorials/how-to-use-json-in-go gelesen, aber ich verstehe den Unterschied immer noch nicht.
Oder was ist der Unterschied zwischen map[type] interface{}, das wir allgemeiner definieren?
Wir definieren jedes Schlüssel-Wert-Paar durch die Struktur?
Definieren beide Methoden nur Objekte, die aus Schlüssel-Wert-Paaren bestehen?
Strukturen und Karten sind unterschiedliche Datenstrukturen. Sie haben viele Unterschiede. Hier sind nur einige davon:
Strukturen haben eine feste Anzahl von Feldern, die einmalig deklariert werden und nicht geändert werden können.
3a15cefd8a1cc7ac8a7f27a0d3f9b13Karte kann zur Laufzeit wachsen oder schrumpfen.
vector := map[string]float64{ "x": 2.0, "y": 2.0, } vector["z"] = 2.0
Sie können Karteneinträge durchlaufen.
for key, val := range vector { fmt.Println(key, val) }
Strukturen unterstützen keine Iteration (es sei denn, Sie verwenden Reflektion).
Strukturfelder können Beschriftungen (zusätzliche Attribute) haben:
type User struct { Name string `json:"name"` Password string `json:"password"` }
Map verfügt nicht über diese Funktion.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der zugeordneten Schnittstelle {} und der Typstruktur {}?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!