golang小案例 —— 測量代碼中的變量內存

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章