我正在尝试使用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)
}