相关疑难解决方法(0)

Go 中的 len(string) 和 len(slice) 是 O(1) 运算吗?

var s string
var slice []int

len(s)
len(slice)
Run Code Online (Sandbox Code Playgroud)

len()strings 和切片的调用,O(1)。

这个golang 官方博客,我可以看到切片有长度、容量和指向底层数组的指针。所以我明白了,它上面的 len() 可能是一个 O(1) 操作。但是字符串呢?字符串的长度是否也在内部与数据相关联,以便 len() 只是查找并返回它?

我查看了builtin.go的源代码,但什么也做不了。

go

2
推荐指数
1
解决办法
509
查看次数

标签 统计

go ×1