对于循环增量,步骤在golang中不起作用

Che*_*rai 1 for-loop go

以下Go程序无法编译

package main

import (
"fmt"
)

func main() {
var celcius int
for i := 0; i <= 300; i + 20 {
    celcius = 5 * (i - 32) / 9
    fmt.Printf("%d \t %d\t \n", i, celcius)
}
}
Run Code Online (Sandbox Code Playgroud)

错误消息是"i + 20已评估但未使用".如何在golang for循环中增加步长

Cer*_*món 15

编译器抱怨表达式的结果i + 20未被使用.一个解决方法是将结果分配给i:

for i := 0; i <= 300; i = i + 20 {
Run Code Online (Sandbox Code Playgroud)

更简洁,更惯用的方法是使用+=:

for i := 0; i <= 300; i += 20 {
Run Code Online (Sandbox Code Playgroud)

  • 在问题中,表达式"i + 20"的结果未分配给变量,也没有任何副作用.因此,表达式未使用. (2认同)