golang 下划线(underscore)的意义

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

    原文作者:xsyyyyyy
    原文地址: https://segmentfault.com/a/1190000020365063
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞