Go 语言中下划线 _ 的妙用

Go

空白标识符_是匿名占位符。可以像声明中的任何其他标识符一样使用它,但是它不会引入绑定。

忽略值

空白标识符提供一种忽略分配中的左侧值的方法。

_, present := timeZone["CET"]

sum := 0
for _, n := range a {
    sum += n
}

导入副作用

它也可以仅出于副作用而用于导入软件包。

import _ "image/png" // 初始化png解码器功能

使编译器不产生编译错误

在开发过程中可以使用它来避免编译器关于半编写程序中未使用的导入和变量的错误。

package main

import (
    "fmt"
    "log"
    "os"
)

var _ = fmt.Printf // 调试: 完成后删除

func main() {
    f, err := os.Open("test.go")
    if err != nil {
        log.Fatal(err)
    }
    _ = f // 代办事件:读取文件
}

对于自动解决方案,请使用 goimports 工具,该工具会重写 Go 源文件以获得正确的导入。许多 Go 编辑器和 IDE 会自动运行此工具。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://yourbasic.org/golang/underscore/

译文地址:https://learnku.com/go/t/46451

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!