Golang 中的 cap() 函数用 Big-O 表示法表示的速度有多快?

Pet*_*gru -4 arrays big-o go

Golang 有len(array)cap(array)。前者返回数组/切片的长度(即数组拥有的元素数量);据我了解,该函数是 O(1); 这使得它立即

cap(array)返回底层数组的容量。然而,这个操作是 O(1) 吗?人们会认为数组的容量是数组具有的一个值,因此可以在 O(1) 时间内看到,但我不能确定

Bur*_*dar 6

对于切片, 和 都len只是cap从切片头返回相应的值,因此它们是常数时间操作。

对于数组,lencap都是编译时常量。