Как избежать ошибки "неиспользуемая переменная в цикле for"

Как избежать ошибки "неиспользуемая переменная в цикле for" с кодом вроде

ticker := time.NewTicker(time.Millisecond * 500)
go func() {
    for t := range ticker.C {
        fmt.Println("Tick at", t)
    }
}()

если я на самом деле не использую t переменная?

2 ответа

Решение

Вам не нужно ничего назначать, просто используйте for rangeвот так (по игре)

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)

}

Используйте предопределенный _ переменная. Он называется " пустой идентификатор" и используется как значение только для записи, когда вам не нужно фактическое значение переменной. Это похоже на запись значения в /dev/null в Unix.

for _ = range []int{1,2} {
    fmt.Println("One more iteration")
}

Пустой идентификатор может быть назначен или объявлен с любым значением любого типа, причем значение отбрасывается безвредно. Это немного похоже на запись в файл Unix /dev/null: оно представляет собой значение только для записи, которое будет использоваться в качестве заполнителя, где требуется переменная, но фактическое значение не имеет значения.

Другие вопросы по тегам