int 是帶符號整數(shù)類型,其大小至少為32位。 它是一種確切的類型,而不是 int32 的別名。
int 不是int32,那 int 在內(nèi)存占多少字節(jié)呢?官方?jīng)]有明確,讓我們測試下。
GOARCH="amd64"
package mainimport ( "fmt" "unsafe" )func main() { i := int(1) fmt.Println(unsafe.Sizeof(i)) // 4 j := 1 fmt.Println(unsafe.Sizeof(j)) // 4 u := uint(1) fmt.Println(unsafe.Sizeof(u)) // 4}
可以認為 int 是4字節(jié)么?我不敢這樣認為,GoLang支持多種平臺架構(gòu)。如果對size有明確要求,那就用 int32 之類的吧。
補充:隨Go版本的變化,這個的確是在變化,所以到底占用多少字節(jié),還是看具體版本吧
類型和描述 | |
---|---|
1 | uint8 無符號 8 位整型 (0 到 255) |
2 | uint16 無符號 16 位整型 (0 到 65535) |
3 | uint32 無符號 32 位整型 (0 到 4294967295) |
4 | uint64 無符號 64 位整型 (0 到 18446744073709551615) |
5 | int8 有符號 8 位整型 (-128 到 127) |
6 | int16 有符號 16 位整型 (-32768 到 32767) |
7 | int32 有符號 32 位整型 (-2147483648 到 2147483647) |
8 | int64 有符號 64 位整型 (-9223372036854775808 到 9223372036854775807) |
以上就是golang中的int占幾個字節(jié)的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!