Go语言学习日志之“_“下划线的作用

本文探讨了Go语言中下划线"_"的用途,包括在import时的初始化作用,接收函数返回值时忽略其他参数,以及在接口实现判断中的应用。通过示例说明了如何避免编译错误并理解Go的非侵入式接口设计。
摘要由CSDN通过智能技术生成

Go语言学习日志之"_"下划线的作用

作为idea的忠实粉丝,我在开始学习Go的时候就果断选用了Goland作为主力工具。前几天在我手动导包的时候发现,导入某些包时Goland会提示我在包名前加上下划线,今天又在学习Go的时候遇到了用"_"来接收返回值的情况,于是果断搜索相关资料,先贴上相关资料链接以示尊重:Golang中下划线的使用(来自Go语言中文网的大佬写的资料)
言归正传,下面列出下划线在Go中的几个作用:

  1. import时使用下划线:import _ "net/http/pprof"此时会调用对应包的init()函数进行初始化,不会使用包中的其他功能。
  2. 用下划线来接收返回值:众所周知Go语言的函数返回值中的最后一项都是err,即错误信息。某些时候我们只关注这个函数执行是否成功,例如我们有时会这样使用_,err := http.Head(url),对于某些情况我们只关心请求是否成功,而这个函数的其他返回参数我们并不想看,但又不能不接收返回值(废话不然会报错),此时就可以用下划线来接收所有其它所有的返回值。
  3. 用在变量上:首先先了解一个概念——侵入式接口&非侵入式接口。侵入式接口是指实现类需要明确指出自己实现了某个接口;非侵入式接口是指一个类只需要实现接口的所有函数,那么这个类实现了该接口。Go语言中采用的就是后者非侵入式接口,下面来看一下大佬举的例子:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值