GOLANG 查询变量或结构内存占用(不准确,不符合直觉)

package main

import (
        "fmt"
        "unsafe"

)

type Man struct {
        Maa map[string]string
	Naa []byte
}

func main() {
	m := make(map[string]string)
	m["a"] = "3856"
	m["g.t"] = "a_3856"
	m["pr"] = "20000000"
	m["pr.t"] = "t-par-200000001"
	m["ses"] = "841959653263999106"
	m["ssc"] = "3478712679"
	m["s"] = "462"
	
        n := []byte{10,158,10,133,230,1,154,12,24,2,50,8,8,8,186,7,161,0,229,140,133,230,187,161,228,186,134,34,32,232,131,140,229,140,133,230,187,161,228}

	o := Man{
		Maa : m,
		Naa : n,
	}

	fmt.Println("man size:", unsafe.Sizeof(o))
        fmt.Println("man size:", unsafe.Sizeof(m))
        fmt.Println("man size:", unsafe.Sizeof(n))
}

这里记录是说明一件事。这种查询变量或结构内存占用的方法不可取。

它只能说明结构的类型占用的内存大小。不能说明结构变量的数据占用的内存大小。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值