hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

go语言中接口的运用_后端开发

2019-11-30后端开发ki4网23°c
A+ A-

在Go中,接口interface实在和其他言语的接口意义也没什么区分。interface明白其为一种范例的范例或许商定。一种范例是否是“完成”了一个接口呢?就看这类范例是否是完成了接口中定义的一切要领。(引荐:go言语教程)

1、接口的定义和运用。

比方

type I interface{
    Get() int
    Put(int)
 
}

这段话就定义了一个接口,它包括两个函数Get和Put

好了,我的一个接口完成了这个接口:

type S struct {val int}
func (this *S) Get int {
    return this.val
}
func (this *S)Put(v int) {
    this.val = v
 
}

这个构造S就是完成了接口I

2、空接口

关于空接口interface{} 实在和泛型的观点很像。任何范例都完成了空接口。

下面举个例子:

一个函数完成如许的功用:

以任何对象作为参数,假如这个对象是完成了接口I,那末就挪用接口I的Get要领

许多言语都是如许的逻辑:

function g(obj){
    if (obj is I) {
        return (I)obj.Get()
    }
 
}

Go中是如许完成的:

func g(any interface{}) int {
    return any.(I).Get()
 
}

这里的any.(I)是否是很语义化?“任何完成了I接口的对象”

3、Go中interface的写法:

下面看几个interface的例子:

func SomeFunction(w interface{Write(string)}){
    w.Write("pizza")
 
}

这个例子中,直接将interface定义在参数中,很迥殊…

func weirdFunc( i int ) interface{} {
  if i ==  0 {
    return "zero"
  }
  return i;
}

这里例子中,因为有大概返回string,也有大概返回int,因而将返回值设置成为interface,这个在Go的package包中会大批见到。

以上就是go言语中接口的运用的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
go语言中接口的运用_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>