package main
import "fmt"
// go的接口
// go的接口是把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口
/* 定义接口 */
/*
type 接口名 interface {
方法1 [返回类型]
方法2 [返回类型]
方法3 [返回类型]
...
方法n [返回类型]
}
*/
/* 定义结构体 */
/*
type 结构体名 struct {
}
*/
/* 实现接口方法 */
/*
func (结构体名/普通类型变量名 结构体/普通类型) 方法名1() [返回类型] {
// 方法实现
}
...
func (结构体名/普通类型变量名 结构体/普通类型) 方法名n() [返回类型] {
// 方法实现
}
*/
type Fruit interface {
eat()
}
type Apple struct { //定义了一个结构体苹果
}
type Pear struct { //定义了一个结构体梨子
}
func (apple Apple) eat() {
fmt.Println("吃苹果")
}
func (pear Pear) eat() {
fmt.Println("吃梨子")
}
func main() {
var fruit Fruit // 定义了一个接口Furit,接口里有eat方法
fruit = new(Apple)
fruit.eat() // 吃苹果
fruit = new(Pear)
fruit.eat() // 吃梨子
}
【Golang】12.用代码形式总结go的接口interface
最新推荐文章于 2020-08-16 00:25:51 发布