前言
最近在学习Go语言,看到了接口。因为之前从事的Python,提倡的是面向对象的编程。而Go语言有些不同,Go提倡的是面向接口编程,所以Go语言的接口就尤为重要。
本人刚学习Go语言不久,想把自己对接口的一些理解写出来,如果有错误或者更好的理解方法,请大佬指正。
一、什么是接口
接口是一种抽象的类型,是代码中方法的集合。接口就像是定义了方法的行为准则,不管你是什么类型,只管你能实现什么。【假如你“呱呱”叫,那你就是鸭子(?)】
二、接口的实现
最基础的接口构成由interface类型和一或多个方法组成
2.1 接口的声明
type 接口名 interface {
方法1(参数) 返回值
方法2(参数) 返回值
方法3(参数) 返回值
}
2.2 方法声明
Go方法就是有特定接收者的函数。Go中的函数由 函数名,参数,返回值,函数体 构成,方法在函数的基础上多了接收值:
func (接收者,接收者类型) 方法名(接收参数) (返回值){
函数体
}
2.3实现接口的方法
举个例子,下面定义一个接口叫buyer,里面有个buy的方法
type buyer interface {
buy()
}
定义一个字符串类型
type Microsoft