Go语言学习之下划线_作用分析

Go语言学习之下划线_作用分析

用在import

  • 示例

    
        import  _  "net/http/pprof"
    
    
  • 作用

    在导入路径前加入下划线表示只执行该库的 init 函数而不对其它导出对象进行真正地导入。因为 Go 语言的数据库驱动都会在 init 函数中注册自己,所以我们只需要进行上述操作即可;否则的话,Go 语言的编译器会提示导入了包却没有使用的错误。

    引入包时,会先调用包中的初始化函数,这种使用方式仅让导入的包做初始化,而不使用包中其他功能

用在返回值

  • 示例

    
        for _,v := range Slice{}
    
        _,err := func()
    
    
    
    
  • 作用

    表示忽略某个值。单函数有多个返回值,用来获取某个特定的值

用在变量

  • 示例

    
        type Handler interface {
            // jobName
            Name() (name string)
        }
    
        // make sure the struct implement the Handler interface
        var _ Handler = &LogHandler{}
    
        type LogHandler struct {
            Handler
        }
    
        func (c LogHandler) Name() string {
            return "日志处理器"
        }
    
    
    
    
  • 作用

    上面用来判断 type LogHandler 是否实现了 Handler 用作类型断言,如果LogHandler没有实现接口Handler,则编译错误

其他

  • 示例

    
        // 保证结构体HelloServiceClient实现了接口HelloServiceInterface
        var _ HelloServiceInterface = (*HelloServiceClient)(nil)
    
    
        // 声明的HelloServiceInterface既是变量又是类型
        type HelloServiceInterface = interface {
            Hello(request string, reply *string) error
        }
    
    
    
    

参考链接

  • golang中下划线的意义

    http://yhpanic.com/2018/12/14/golang%E4%B8%AD%E4%B8%8B%E5%88%92%E7%BA%BF%E7%9A%84%E6%84%8F%E4%B9%89/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值