我有一段简单的代码,我在其中为int8、int16和类型分配内存并打印出变量的地址:int32int64
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
var i8 *int8
var i16 *int16
var i32 *int32
var i64 *int64
fmt.Println(&i8)
fmt.Println(&i16)
fmt.Println(&i32)
fmt.Println(&i64)
}
这是我收到的输出:
gc amd64 darwin
0xc00008a020
0xc00008a028
0xc00008a030
0xc00008a038
从这里我可以得出结论,只有int16使用 4 个字节,其他类型使用 8 个字节。
我的推理和检查分配的内存大小的方法是否正确?
如果是,在 64 位架构系统上使用int8,有什么优势?int32
30秒到达战场
相关分类