相关疑难解决方法(0)

如何在golang中获取变量的内存大小?

我好奇的存储成本mapslice,所以我写了一个程序来比较大小.我得到了内存大小unsafe.Sizeof(s),但显然是错误的,因为当我改变大小时,输出是相同的.

func getSlice(size int) []int {
    t := time.Now()
    s := make([]int, size*2)
    for i := 0; i < size; i++ {
        index := i << 1
        s[index] = i
        s[index+1] = i
    }
    fmt.Println("slice time cost: ", time.Since(t))
    return s
}

func getMap(size int) map[int]int {
    t := time.Now()
    m := make(map[int]int, size)
    for i := 0; i < size; i++ {
        m[i] = i
    }
    fmt.Println("map time cost: ", time.Since(t))
    return m …
Run Code Online (Sandbox Code Playgroud)

memory dictionary go slice

6
推荐指数
2
解决办法
5894
查看次数

标签 统计

dictionary ×1

go ×1

memory ×1

slice ×1