教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 go 判断类是否实现了指定接口

go 判断类是否实现了指定接口

发布时间:2021-12-27   编辑:jiaochengji.com
教程集为您提供go 判断类是否实现了指定接口等资源,欢迎您收藏本站,我们将为您提供最新的go 判断类是否实现了指定接口资源

在go 语言编程中,有时候我们想知道某个结构体(即有些人称之为类)是否实现了某个接口类型,那么如何去做呢,根据我查找的资料得知处理如下:

type IFace iterface {

         Eat() string

}

type Bird struct {

    Eyes string

   Color int

}

要判断Bird 是否实现了接口 IFace 直接

var _  IFace =new(Bird)  或者 var _ IFace = (*Bird)(nil)

解析:这个其实就是变量定义,您仔细看,我们平时定义变量时候  是否是 var  变量名  类型 = 赋值,上面中的 _ 其实就是舍去变量不要,因为go 中规定只要定义了的变量都必须要有使用的地方,但是我们的目的是为了判断类型是否实现了接口,不必使用到变量,因此就是用了 _ 符号舍去了。=号就带变了赋值,其实就是具体类型转换成接口类型,假如实现了接口类型,编译就可以通过,没有现实编译就会出错,就是根据这个原理来实现的。新手们是否豁然开朗。至于第二种写法与第一种的区别就是,第二种不需要分配内存就达到目的,而第一种是需要分配内存的。哈哈哈学到了吗?所以说 基本功一定要打好,否则很多东西看是奇怪,其实并没有那么复杂。好啦就这样了

到此这篇关于“go 判断类是否实现了指定接口”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
go 判断类是否实现了指定接口
【Golang】go语言面向接口
Go语言基础之接口(面向对象编程下)
go语言接口断言的使用
go struct 成员变量后面再加个字符串是什么意思?_Go语言的学习笔记(第十章) 接口...
go语言中的继承和接口使用(八)
Go语言_接口查询
第07章 Go语言接口(interface),Golang接口(interface)
go interface类型转换_Golang系列5 | Interface接口&map类型
Go语言中的接口

[关闭]
~ ~