如何在Go中获取数组/切片的实际字节大小

时间:2019-05-30 08:03:18

标签: algorithm go sizeof

我正在尝试使用Go实现基本的列表操作。但是我找不到一种方法来获取切片/数组大小(以字节为单位)以实现length()函数。

我尝试了unsafe.Sizeof()方法,但是对于文档,它仅给出了切片描述符的大小,而不是切片所引用的内存的大小。

type IntList []int

func main() {
    list := IntList{1, 2, 3, 4}
    list.Length() // expected result - 4
}

// assuming int type contains 4 bytes
func (l IntList) Length() int {
    size := actualByteSize(l) / 4 
    return int(size)
}

0 个答案:

没有答案