以程式方式取得 Go 結構體的大小
計算 Go 結構體的大小需要了解底層類型和對齊要求。
不安全套件方法
unsafe 套件中的 Sizeof 方法傳回變數的大小或結構。不過,要注意的是,這個大小不包括變數引用的記憶體。
手動計算結構體大小
結構體的大小取決於其欄位的類型和它們出現的順序。以下是一些指導原則:
- 基本型別:1 位元組(bool、int8、uint8)、2 位元組(int16、uint16)、4 個位元組(int32、uint32、float32)、8位元組(int64、 uint64、float64、指標)。
- 字串:16 個位元組(兩個8 個位元組對齊)
- 切片:24 個位元組(三個8 個位元組對齊)
- 陣列:n *其元素類型的大小
- 欄位與其大小對齊。如果欄位的大小不能被對齊方式整除,則會新增填色。
例如:
使用線上服務驗證大小
您可以也可以使用[Go遊樂場](https://play.golang. org/):
以上是如何以程式方式確定 Go 結構體的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!