(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"