在围棋中,"len() "能否大于 "cap()"?[重复]

问题描述 投票:1回答:1

https:/github.comgooglecodesearchblobmasterindexwrite.go#L498。

在上面的页面中提到了以下代码。可以 len() 大于 cap()? 我想 = 而不是 >= 这里应该使用。谢谢。

    if len(b.buf) >= cap(b.buf) {
go slice
1个回答
2
投票

规格 长度和容量。

一个分片的容量是指在底层数组中分配了多少元素的空间。在任何时候,以下关系都是成立的。

0 <= len(s) <= cap(s)

所以不,一个分片的长度不能大于它的容量。

在引用的代码中 len(b.buf) == cap(b.buf) 就可以了,可能是代码用其他方式计算了长度(比如包括要附加的东西的长度),这就说得通了。那么可能是代码改了重写,但关系没有改。

© www.soinside.com 2019 - 2024. All rights reserved.