ch3,ch3-01 review

This commit is contained in:
chai2010
2015-12-27 15:13:12 +08:00
parent 7c96bf43e6
commit 6978661750
21 changed files with 67 additions and 63 deletions

View File

@@ -7,7 +7,7 @@ import "unsafe"
fmt.Println(unsafe.Sizeof(float64(0))) // "8"
```
Sizeof函數返迴的大小隻包括數據結構中固定的部分例如字符串對應結構體中的指針和字符串長度部分但是併不包含指針指向的字符串的內容。Go語言中非聚合類型通常有一個固定的大小盡管在不同工具鏈下生成的實際大小可能會有所不同。考慮到可移植性引用類型或包含引用類型的大小在32位平上是4個字節在64位平上是8個字節。
Sizeof函數返迴的大小隻包括數據結構中固定的部分例如字符串對應結構體中的指針和字符串長度部分但是併不包含指針指向的字符串的內容。Go語言中非聚合類型通常有一個固定的大小盡管在不同工具鏈下生成的實際大小可能會有所不同。考慮到可移植性引用類型或包含引用類型的大小在32位平上是4個字節在64位平上是8個字節。
計算機在加載和保存數據時如果內存地址合理地對齊的將會更有效率。例如2字節大小的int16類型的變量地址應該是偶數一個4字節大小的rune類型變量的地址應該是4的倍數一個8字節大小的float64、uint64或64-bit指針類型變量的地址應該是8字節對齊的。但是對於再大的地址對齊倍數則是不需要的卽使是complex128等較大的數據類型最多也隻是8字節對齊。