golang-下划线underscore的意义

8次阅读

共计 518 个字符,预计需要花费 2 分钟才能阅读完成。

“_”(下划线),可以简单理解为赋值但以后不再使用,在 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…

正文完
 0