Пустой идентификатор _
Пустой идентификатор _ в Go представляет собой специальный идентификатор,
который используется для игнорирования значений при множественном присваивании.
Он позволяет пропустить переменную, которая не будет использоваться в программе,
что помогает избежать ошибок компиляции из-за неиспользуемых переменных.
Пустой идентификатор может быть использован в различных контекстах, включая
присваивание значений, проверку интерфейсов и импорт пакетов.
Синтаксис
_ = value
Пример
Давайте рассмотрим пример использования пустого идентификатора для игнорирования возвращаемого значения функции:
package main
import "fmt"
func getData() (int, string) {
return 42, "hello"
}
func main() {
_, str := getData()
fmt.Println(str)
}
Результат выполнения кода:
"hello"
Пример
Давайте рассмотрим использование пустого идентификатора в цикле для игнорирования индекса при переборе слайса:
package main
import "fmt"
func main() {
nums := []int{1, 2, 3, 4, 5}
for _, num := range nums {
fmt.Println(num)
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте рассмотрим использование пустого идентификатора для проверки соответствия типа интерфейсу:
package main
type MyInterface interface {
Method()
}
type MyStruct struct{}
func (m MyStruct) Method() {}
var _ MyInterface = MyStruct{}
func main() {
println("Interface check passed")
}
Результат выполнения кода:
"Interface check passed"
Пример
Давайте рассмотрим использование пустого идентификатора для импорта пакета только ради его побочных эффектов:
package main
import (
_ "fmt"
"log"
)
func main() {
log.Println("Imported fmt for side effects only")
}
Результат выполнения кода:
"Imported fmt for side effects only"