首页 > 其他分享 >GO 下划线(_)的作用

GO 下划线(_)的作用

时间:2024-02-09 20:55:32浏览次数:27  
标签:下划线 Dog Animal GO import type 作用

GO 下划线(_)的作用

import时使用下划线

import _ "net/http/pprof"
此时会调用对应包的init()函数进行初始化,不会使用包中的其他功能。

用下划线来接收返回值

_, err := http.Head(url)

判断结构体是否实现了接口


type Animal interface {
    Say()
    Sleep()
}

type Dog struct {
    Name string
    Age int64
}

func (*Dog) Say() {}
func (*Dog) Sleep() {}

// 判断结构体 Dog 是否实现了 Animal 接口
var _ Animal = (*Dog)(nil) // 把 nil 转换成 *Dog 类型,赋值后随即丢弃

标签:下划线,Dog,Animal,GO,import,type,作用
From: https://www.cnblogs.com/dibtp/p/18012619

相关文章

  • client-go 分析Shutdown方法耗时长原因
    k8sv1.19.0Shutdown等待结束流程第1步:reflector停止list/watch第2步:Delta先进先出队列对象全部Pop业务代码处理事件场景1:Shutdown方法等待EventHandler回调方法完成klog.InitFlags(nil)flag.Parse()deferklog.Flush()cfg,err:=clientcmd.BuildConfigFromFlags(......
  • python3.9+django4.1+vue3 ,后端项目运行时,报错了,WSGI application 'XXX.wsgi.applicat
    python3.9+django4.1+vue3,后端项目运行时,报错了; 报错信息,如下:django.core.exceptions.ImproperlyConfigured:WSGIapplication'StudentMgrBE.wsgi.application'couldnotbeloaded;Errorimportingmodule.     ------------------------------百度......
  • [Go] A simple Go server
    HelloWorldLet'screateasimpleGoserver,firstlet'ssetuptheserveranddohelloworld//@filename:main.gopackagemainimport( "fmt" "net/http")funchandleHello(reshttp.ResponseWriter,req*http.Request){......
  • python django4.1 pycharm,报错,Conflicting 'xxx' models in application 'xxx': <
    遇到了一个报错,不知道咋么解决,pythondjango3pycharm,报错。不晓得怎么解决;Conflicting'xxx'modelsinapplication'xxx':<class'xxx'>and<class'xxx'>.这个是 报错误 信息,如下:RuntimeError:Conflicting'faculty'modelsin......
  • golang容器部署时区报错
    问题:consttimezone="Asia/Shanghai"funcTimeFormat(datetime.Time,patternstring)string{location,err:=time.LoadLocation(timezone)date.In(location)returndate.Format(pattern)} 1.在本地开发使用了时区是没有问题的,但是部署到服务器上面......
  • [ABC327G] Many Good Tuple Problems 题解
    Description对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在......
  • golang之枚举类型iota
    枚举类型是一种常用的数据类型,用于表示一组有限的、预定义的、具名的常量值。在枚举类型中,每个常量都是一个枚举值,它们之间的值相等且唯一。枚举类型通常用于表示一组相关的常量,比如星期、月份、性别等等。在其他语言里(比如Java和C),都内置了枚举类型,而在Go语言里是没有内置......
  • go简单部署到ubuntu
    一、概述做了一个简单的服务用来下载文件,这里主要使用来下载apk,然后生成一个二维码给用户下载apk使用。 二、步骤1.在ubuntu上安装go环境并配置环境变量(网上一大堆)2.在Windows交叉打包一个可以运行在ubuntu上的可执行文件。打包命令file_download_service:可......
  • Go语言精进之路读书笔记第19条——理解Go语言表达式的求值顺序
    第19条了解Go语言控制语句惯用法及使用注意事项19.1使用if控制语句时应遵循"快乐路径"原则当出现错误时,快速返回;成功逻辑不要嵌入if-else语句中;"快乐路径"当执行逻辑中代码布局上始终靠左,这样读者可以一眼看到该函数当正常逻辑流程;"快乐路径"的返回值一般在函数最后一行。......
  • Go语言精进之路读书笔记第17条——理解Go语言表达式的求值顺序
    Go语言表达式支持在同一行声明和初始化多个变量支持在同一行对多个变量进行赋值(不同类型也可以)vara,b,c=5,"hello",3.45a,b,c:=5,"hello",3.45a,b,c=5,"hello",3.45RobPike练习题(规则见17.3赋值语句的求值)n0,n1=n0+n1,n0或者n0,n1=op(......