Heim > Backend-Entwicklung > Golang > Golang-Unmarshaling-Verhalten: zusätzliche Felder?

Golang-Unmarshaling-Verhalten: zusätzliche Felder?

PHPz
Freigeben: 2024-02-09 10:57:26
nach vorne
552 Leute haben es durchsucht

Golang 解组行为:多余字段?

php-Editor Strawberry bringt Ihnen die neueste technische Analyse – „Golang-Unmarshaling-Verhalten: redundante Felder?“. Bei der Verwendung von Golang zum Unmarshalling stoßen wir häufig auf ein Problem: Wie wird der Unmarshalling-Vorgang gehandhabt, wenn in der Zielstruktur redundante Felder vorhanden sind? In diesem Artikel wird diese Frage ausführlich beantwortet und einige Lösungen bereitgestellt, die Ihnen helfen, den Unmarshaling-Mechanismus von Golang besser zu verstehen und anzuwenden. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, ich glaube, dieser Artikel kann Ihnen neue Inspiration und Hilfe bringen. Lass uns eintauchen!

Frageninhalt

Angenommen, ich habe diese Struktur:

type mystruct struct {
    a string `json:"a"`
}
Nach dem Login kopieren

Aber ich erhielt eine Antwort in der Form:

{"a": "something", "b": "something", "c": "something"}
Nach dem Login kopieren

Das heißt, es gibt mehr Felder als erwartet, aber wir wollen nur Feld a. Ist es sicher/erlaubt, die Antwort in Mystruct in Golang zu entmarshalieren?

Workaround

Ja, es ist sicher und wird manchmal sogar absichtlich verwendet. Wenn Sie nur wenige Felder aus der Eingabe benötigen, können Sie eine Struktur definieren, die nur diese Felder enthält. Tatsächlich ist es schwieriger, das Vorhandensein von nicht gemarshallten Feldern in der Eingabe zu erkennen.

Das obige ist der detaillierte Inhalt vonGolang-Unmarshaling-Verhalten: zusätzliche Felder?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage