For loop 如何避免;for循环中未使用的变量;错误
如何使用类似以下代码避免“for循环中未使用的变量”错误For loop 如何避免;for循环中未使用的变量;错误,for-loop,go,unused-variables,For Loop,Go,Unused Variables,如何使用类似以下代码避免“for循环中未使用的变量”错误 ticker := time.NewTicker(time.Millisecond * 500) go func() { for t := range ticker.C { fmt.Println("Tick at", t) } }() 如果我实际上没有使用t变量?请使用预定义的变量。当您不需要变量的实际值时,它被命名为“”,并用作只写值。这类似于在Unix中将值写入/dev/null for _ = r
ticker := time.NewTicker(time.Millisecond * 500)
go func() {
for t := range ticker.C {
fmt.Println("Tick at", t)
}
}()
如果我实际上没有使用
t
变量?请使用预定义的变量。当您不需要变量的实际值时,它被命名为“”,并用作只写值。这类似于在Unix中将值写入/dev/null
for _ = range []int{1,2} {
fmt.Println("One more iteration")
}
可以使用任何类型的任何值分配或声明空白标识符,该值将被无害地丢弃。这有点像写入Unix/dev/null文件:它表示一个只写的值,在需要变量但实际值不相关的情况下用作占位符
更新
来自Golang:
直到Go 1.3,范围循环有两种形式
及
如果对循环值不感兴趣,仅迭代本身,仍然需要提及变量(可能是空白标识符,如在“=范围X”中),因为窗体
语法上是不允许的
这种情况看起来很尴尬,因此从Go 1.4开始,变量自由形式现在是合法的。模式很少出现,但出现时代码会更干净。
您不需要分配任何内容,只需对范围使用,如下所示
不再需要这个了<代码>for range
现在是非常有效的语法。如果range
返回两个变量,而您只需要其中一个,请执行for,y in range
。
for i, v := range x {
...
}
for i := range x {
...
}
for range x {
...
}
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(time.Millisecond * 500)
go func() {
for range ticker.C {
fmt.Println("Tick")
}
}()
time.Sleep(time.Second * 2)
}