go语言---接口

go语言接口类型 interface
  1. 接口是一组行为规范的定义;
  2. 接口中只能有方法声明,方法只能有名称、参数、返回值,不能有方法体;
  3. 每个接口中可以有多个方法声明,结构体把接口中所有方法都重写后,结构体就属于接口类型;
  4. 重写的方法要求必须和接口中方法名称、方法参数(参数名可以不同)、返回值列表完全相同;
  5. 接口可以继承接口,go语言推荐把接口中的方法拆分成多个接口;
  6. 使用interface关键字来定义接口,如:
    type 接口名 interface {
    	方法名(参数列表) 返回值列表
    }
    
package main

import "fmt"

type People3 struct {
	name string
	age int
}

type Animal struct {
	Eat
}

type Eat interface {
	eat()
}

type Live interface {
	run(run int)
	//eat()  // 与已经实现的方法重复了,直接调用接口
	Eat
}

func (p *People3) run(run int) {
	fmt.Println(p.name, "正在跑步,跑了", run, "米")
}
func (p *People3) eat()  {
	fmt.Println(p.name, "正在吃东西~")
}

func main() {
	p := People3{"张三", 32}
	p.eat()  // 张三 正在吃东西~
	p.run(100)  // 张三 正在跑步,跑了 100 米
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值