主页 > 知识库 > golang struct 实现 interface的方法

golang struct 实现 interface的方法

热门标签:建造者2地图标注 阿里云ai电话机器人 惠州电销防封电话卡 郑州亮点科技用的什么外呼系统 滨州自动电销机器人排名 钉钉有地图标注功能吗 浙江高频外呼系统多少钱一个月 汕头小型外呼系统 黄冈人工智能电销机器人哪个好

golang中,一般strcut包含 interface类型后,struct类型都需要实现 interface导出的接口,从而成为相应的 interface接口类。

实际上,struct包含interface之后,并不需要实现interface的接口,也能成为 interface接口类。

代码如下:

type newEr interface {  

  New()

}

type testInterface interface {  

  newEr  

  Done() -chan struct{}

}

type kkTest struct {  

  testInterface

}

func NewTest() newEr {  

  return kkTest{}

}

func main() {  

  kk := NewTest()  

  i,ok := kk.(testInterface)  

  fmt.Println(i,ok)  

  ch := i.Done()  

  fmt.Println(ch)

}

其中  i,ok := kk.(testInterface)  测试成功,也就是说 kkTest  已经是 testInterface 接口类,但是后续 ch := i.Done()    引发 panic,这个也是预料之内的。

相关的应用可以看 context包中的实现,valueCtx部分实现了 Context 接口函数,对其不需要的函数没有实现,如果调用了这些未实现的函数就会导致 panic。这样在程序排错其实是很有好处的,因为调用到这些接口,说明代码其实已经写错了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • 使用go的interface案例实现多态范式操作
  • Go语言实现类似c++中的多态功能实例
  • golang语言如何将interface转为int, string,slice,struct等类型
  • golang基础之Interface接口的使用
  • golang中struct和interface的基础使用教程
  • Go之interface的具体使用
  • Go语言中你不知道的Interface详解
  • golang中interface接口的深度解析
  • 浅谈Go语言多态的实现与interface使用

标签:沧州 驻马店 昭通 晋中 东营 泰安 阿坝 泸州

巨人网络通讯声明:本文标题《golang struct 实现 interface的方法》,本文关键词  golang,struct,实现,interface,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《golang struct 实现 interface的方法》相关的同类信息!
  • 本页收集关于golang struct 实现 interface的方法的相关信息资讯供网民参考!
  • 推荐文章