“_”(下划线),可以简单理解为赋值但以后不再使用,在 golang 中使用比较多,使用场合不单一,这里稍作总结,方便理解
用在 import
import _ “net/http/pprof”
pprof 常见用法
引入包,会先调用包中的初始化函数,这种使用方式仅让导入的包做初始化,而不使用包中其他功能
用在返回值
for _,v := range Slice{}
_,err := func()
表示忽略某个值。单函数有多个返回值,用来获取某个特定的值
用在变量
type T struct{}
var _ I = T{}
其中 I 为 interface
上面用来判断 type T 是否实现了 I, 用作类型断言,如果 T 没有实现借口 I,则编译错误.
用在函数定义中省略带名的参数
func demo() ( int, int, string, int ,error)
返回多个参数时, 尤其是类型相同的,不利于阅读,
func demo() ( sumA int, sumB int, string, total int , error)
返回参数 int 加了名字,对比上面, 便于理解, 但是 “string” 和 “error” 没有名字,编译会报错,用下划线可以忽略命名
原作者:大漠狼道
原文链接:https://www.jianshu.com/p/309…