Cara Menentukan Saiz Struct dalam Go
Pakej tidak selamat Go menyediakan kaedah Sizeof yang mengembalikan saiz nilai dalam bait . Contohnya, untuk menentukan saiz struct Coord3d yang ditakrifkan di bawah, anda boleh menggunakan kod berikut:
import "unsafe" type Coord3d struct { X, Y, Z int64 } func main() { fmt.Println(unsafe.Sizeof(Coord3d{})) }
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa saiz struct tidak termasuk memori yang dirujuk olehnya. padang. Contohnya, jika struct mengandungi hirisan, kaedah Sizeof akan mengembalikan saiz deskriptor hirisan, bukan saiz memori yang dirujuk oleh hirisan.
Mengira Saiz Struktur Secara Manual
Selain menggunakan kaedah Sizeof, anda juga boleh mengira saiz struct secara manual dengan mengikuti ini peraturan:
Berdasarkan peraturan ini, anda boleh mengira saiz mana-mana struct dengan menjumlahkan saiz medannya dan menambah sebarang padding yang diperlukan. Sebagai contoh, struct Coord3d mempunyai tiga medan int64, setiap satunya mempunyai penjajaran 8 bait. Oleh itu, saiz struct Coord3d ialah 24 bait. Anda boleh mengesahkan pengiraan anda menggunakan perkhidmatan seperti gostructsize.appspot.com.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Saiz Go Struct?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!