go语言从零到精通(八)—— go语言测量变量内存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/The_Reader/article/details/81252802

unsafe.Sizeof()

  1. func Sizeof(v ArbitraryType) uintptr

 Sizeof返回类型v本身数据所占用的字节数。返回值是“顶层”的数据占有的字节数。例如,若v是一个切片,它会返回该切片描述符的大小,而非该切片底层引用的内存的大小。

实例:

package main

import (
	"fmt"
	"unsafe"
)

func main() {
	var a int = 1
	var b bool = true
	fmt.Println(unsafe.Sizeof(a))
	fmt.Println(unsafe.Sizeof(b))
	var c float64 = 1.0
	fmt.Println(unsafe.Sizeof(c))
	var d uint8= 5
	fmt.Println(unsafe.Sizeof(d))
	var f byte = 1
	fmt.Println(unsafe.Sizeof(f))


}

分别测试 :int; bool;float64;uint8;byte的内存

得出 :

  • int : 8
  • bool :1
  • float : 8
  • uint8 : 1
  • byte :1

猜你喜欢

转载自blog.csdn.net/The_Reader/article/details/81252802