for 循环中的 golang 范围是否保证只计算一次?

在我正在开发的软件中,我看到许多如下所示的循环:

for _, i := range strings.Split(s, ",") { ... }

我想确保该范围仅被评估一次,因为分割字符串总是很昂贵的。

golang的文档里有这方面的规定吗?


胡子哥哥
浏览 76回答 1
1回答

郎朗坤

https://golang.org/ref/spec范围表达式 x 在开始循环之前计算一次,但有一个例外:如果最多存在一个迭代变量并且 len(x) 为常量,则不计算范围表达式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go