golang的int类型在内存中占多少字节
int 是带符号整数类型,其大小至少为32位。 它是一种确切的类型,而不是 int32 的别名。
int 不是int32,那 int 在内存占多少字节呢?官方没有明确,让我们测试下。
GOARCH="amd64"
package mainimport ("fmt""unsafe")func main() {i := int(1)fmt.Println(unsafe.Sizeof(i)) // 4j := 1fmt.Println(unsafe.Sizeof(j)) // 4u := uint(1)fmt.Println(unsafe.Sizeof(u)) // 4}
可以认为 int 是4字节么?我不敢这样认为,GoLang支持多种平台架构。如果对size有明确要求,那就用 int32 之类的吧。
补充:随Go版本的变化,这个的确是在变化,所以到底占用多少字节,还是看具体版本吧
无符号 8 位整型 (0 到 255)2uint16
无符号 16 位整型 (0 到 65535)3uint32
无符号 32 位整型 (0 到 4294967295)4uint64
无符号 64 位整型 (0 到 18446744073709551615)5int8
有符号 8 位整型 (-128 到 127)6int16
有符号 16 位整型 (-32768 到 32767)7int32
有符号 32 位整型 (-2147483648 到 2147483647)8int64
有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
以上就是golang中的int占几个字节的详细内容,更多请关注亿速云其它相关文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。