Heim >Backend-Entwicklung >Golang >Wie kann ich die Größe einer Go-Struktur programmgesteuert bestimmen?
Um die Größe einer Go-Struktur zu berechnen, müssen die zugrunde liegenden Typen und die Ausrichtungsanforderungen verstanden werden.
Die Sizeof-Methode aus dem unsicheren Paket gibt die Größe einer Variablen oder Struktur zurück. Es ist jedoch wichtig zu beachten, dass diese Größe nicht den von der Variablen referenzierten Speicher einschließt.
import "unsafe" func GetStructSize(s interface{}) int { return int(unsafe.Sizeof(s)) }
Die Größe einer Struktur hängt von den Typen ihrer Felder ab die Reihenfolge, in der sie erscheinen. Hier sind einige Richtlinien:
Zum Beispiel:
type Coord3d struct { X, Y, Z int64 } // Size of Coord3d is 24 bytes (3 * 8 bytes)
Das ist möglich Überprüfen Sie Ihre berechnete Größe auch mit einem Onlinedienst wie [Go Playground](https://play.golang.org/):
func main() { type Coord3d struct { X, Y, Z int64 } fmt.Println(unsafe.Sizeof(Coord3d{})) // Outputs: 24 }
Das obige ist der detaillierte Inhalt vonWie kann ich die Größe einer Go-Struktur programmgesteuert bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!