(18条消息) Go语言自学系列 | golang接口和类型的关系_COCOgsta的博客-CSDN博客
Go语言自学系列 | golang接口和类型的关系
视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客
- 一个类型可以实现多个接口
- 多个类型可以实现同一个接口(多态)
一个类型实现多个接口
一个类型实现多个接口,例如:有一个Player接口可以播放音乐,有一个Video接口可以播放视频,一个手机Mobile实现这两个接口,既可以播放音乐,又可以播放视频。
定义一个Player接口
定义一个Video接口
定义Mobile接口体
实现两个接口
func (m Mobile) playMusic() {
func (m Mobile) playVideo() {
测试
func (m Mobile) playMusic() {
func (m Mobile) playVideo() {
运行结果
[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
多个类型实现同一个接口
比如,一个宠物接口Pet,猫类型Cat和狗类型Dog都可以实现该接口,都可以把猫和狗当宠物类型对待,这在其他语言中叫多态。
定义一个Pet接口
定义一个Dog结构体
定义一个Cat结构体
实现接口
fmt.Println("cat eat...")
fmt.Println("dog eat...")
测试
fmt.Println("cat eat...")
fmt.Println("dog eat...")
运行结果
[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"