Go语言接口(interface)简单应用
生活随笔
收集整理的這篇文章主要介紹了
Go语言接口(interface)简单应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
go語言中的多態特性主要是通過接口來實現的,例如在現實世界中可以把手機,相機,U盤等插到USB標準接口上,而不用擔心該USB接口是為哪種設備提供的,原因是商家在設計USB接口時都遵守了一個USB標準,如尺寸,排線等,如果電腦將USB作為輸入接口,那么只要是能夠插到該接口的設備理論上都可以連接電腦進行工作。下面通過Go語言實現這種場景:
package mainimport ("fmt" )//定義一個USB接口,該接口提供兩個方法 type USB interface {start()stop() }//定義一個手機的結構體 type phone struct {}//讓手機實現USB接口中的兩個方法,且必須都要實現 func (p phone) start (){fmt.Println("phone start") }func (p phone) stop(){fmt.Println("phone stop") }//定義一個相機結構體 type camera struct {}//讓相機也實現USB接口中的兩個方法,且必須都要實現 func (c camera) start () {fmt.Println("camera start") }func (c camera) stop (){fmt.Println("camera stop") }//定義一個電腦結構體 type computer struct {}//定義一個電腦的成員方法,該方法將USB作為輸入接口,并且該方法啟動USB接口中的兩個方法,不是必須都要將兩個啟動 func (c computer) working (u USB){u.start()u.stop() }func main(){phone := phone{}camera := camera{}computer := computer{}//只要是實現了USB接口(所謂實現USB接口就是實現了USB接口中定義的所有方法)的設備,都可以通過電腦啟動工作computer.working(phone)computer.working(camera)}執行結果:
phone start phone stop camera start camera stop總結
以上是生活随笔為你收集整理的Go语言接口(interface)简单应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go语言中利用匿名函数和闭包实现文件名修
- 下一篇: 命令行工具cobra的使用