Go 語言介面
阿新 • • 發佈:2021-07-12
Go 語言介面
Go 語言提供了另外一種資料型別即介面,它把所有的具有共性的方法定義在一起,任何其他型別只要實現了這些方法就是實現了這個介面。
例項
/* 定義介面 */ type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_type] ... method_namen [return_type] } /* 定義結構體 */ type struct_name struct { /* variables */ } /* 實現介面方法 */ func (struct_name_variable struct_name) method_name1() [return_type] { /* 方法實現 */ } ... func (struct_name_variable struct_name) method_namen() [return_type] { /* 方法實現*/ }
例項
package main import ( "fmt" ) type Phone interface { call() } type NokiaPhone struct { } func (nokiaPhone NokiaPhone) call() { fmt.Println("I am Nokia, I can call you!") } type IPhone struct { } func (iPhone IPhone) call() { fmt.Println("I am iPhone, I can call you!") } func main() { var phone Phone phone = new(NokiaPhone) phone.call() phone = new(IPhone) phone.call() }
在上面的例子中,我們定義了一個介面Phone,接口裡面有一個方法call()。然後我們在main函式裡面定義了一個Phone型別變數,並分別為之賦值為NokiaPhone和IPhone。然後呼叫call()方法,輸出結果如下:
I am Nokia, I can call you!
I am iPhone, I can call you!
本文轉自:https://www.runoob.com/go/go-interfaces.html
個性簽名:獨學而無友,則孤陋而寡聞!
如果覺得這篇文章對你有小小的幫助的話,記得點個“關注”哦,博主在此感謝!還可以掃碼新增好友,交流程式設計上的問題哦!
萬水千山總是情,點贊再走行不行!哈哈哈(っ•̀ω•́)っ✎⁾⁾!