Heim > Backend-Entwicklung > Golang > Wie kann ich die richtige Größe einer generischen Struktur in Go ermitteln?

Wie kann ich die richtige Größe einer generischen Struktur in Go ermitteln?

Linda Hamilton
Freigeben: 2024-11-26 12:25:14
Original
618 Leute haben es durchsucht

How Can I Get the Correct Size of a Generic Struct in Go?

So erreichen Sie die Bestimmung der generischen Strukturgröße in Go

Sie möchten in Go eine generische Funktion erstellen, die die Größenfunktionalität von C nachahmt und es Ihnen ermöglicht, die Größe jeder Funktion zu bestimmen Datenstruktur.

In Ihrem Code haben Sie versucht, Schnittstellen und Reflektion zu nutzen, um dies zu erreichen. Es ist jedoch ein Problem aufgetreten, bei dem die zurückgegebene Größe falsch war.

Der Grund für diese Diskrepanz liegt in der Tatsache, dass der Code die Größe der Reflect.Value-Struktur abgerufen hat und nicht das tatsächliche Objekt, das in der Schnittstelle gekapselt ist.

Lösung: Reflect.Type.Size() nutzen

Glücklicherweise gibt es eine einfache Lösung für dieses Problem. Der Typ „reflect.Type“ enthält eine Size()-Methode, die die Größe des zugrunde liegenden Typs bereitstellt. Mit dieser Methode können Sie die Größe der Datenstruktur selbst ermitteln:

size := reflect.TypeOf(T).Size()
Nach dem Login kopieren

In Ihrem speziellen Fall ergibt diese Änderung die korrekte Größe von 40 Bytes, die Auffüllung beinhaltet.

Das obige ist der detaillierte Inhalt vonWie kann ich die richtige Größe einer generischen Struktur in Go ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage