理解go语言中的接口

Go语言中的接口是一种抽象类型,它定义了一组方法的集合。接口定义了一个对象所必须具备的方法,但并不关心这些方法的具体实现。因此,通过接口可以实现不同类型之间的通用性。

接口的定义格式如下:

type 接口名 interface {
    方法名1(参数列表1) 返回值列表1
    方法名2(参数列表2) 返回值列表2
    ...
}

接口名可以是任何合法的标识符,方法名和参数列表、返回值列表与普通函数的定义相同。

接口的实现是隐式的,只要一个类型实现了一个接口中定义的所有方法,那么该类型就实现了该接口。就可以将该类型的值赋给该接口类型的变量。

如下示例:

type MyInterface interface {
    M()
}

type T struct {}

func (t T) M() {}

func main() {
    var i MyInterface = T{}
    i.M()
}

在上面的例子中,T实现了MyInterface中定义的M()方法,因此可以将T类型的值赋给MyInterface类型的变量i,并且可以调用i的M()方法。

Go语言基础及实战 文章被收录于专栏

Go语言学习笔记、语法知识、技术要点和个人理解及实战

全部评论
go 中实现接口的几种方式是?
点赞 回复 分享
发布于 2023-04-03 15:06 湖北
这种题是作为面试题来出吗?
点赞 回复 分享
发布于 2023-04-03 15:24 山东

相关推荐

10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务