本篇內容主要講解“Go語言的接口有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Go語言的接口有什么作用”吧!
創(chuàng)新互聯(lián)服務項目包括大名網(wǎng)站建設、大名網(wǎng)站制作、大名網(wǎng)頁制作以及大名網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大名網(wǎng)站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到大名省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!在Go語言中,一個接口類型總是代表著某一種類型(即所有實現(xiàn)它的類型)的行為。一個接口類型的聲明通常會包含關鍵字type、類型名稱、關鍵字interface以及由花括號包裹的若干方法聲明。示例如下:
type Animal interface { Grow() Move(string) string}
如果一個數(shù)據(jù)類型所擁有的方法集合中包含了某一個接口類型中的所有方法聲明的實現(xiàn),那么就可以說這個數(shù)據(jù)類型實現(xiàn)了那個接口類型。
你可能已經意識到,我們無需在一個數(shù)據(jù)類型中聲明它實現(xiàn)了哪個接口。只要滿足了“方法集合為其超集”的條件,就建立了“實現(xiàn)”關系。這是典型的無侵入式的接口實現(xiàn)方法。
package main import ( "fmt" ) // 定義一個接口 type People interface { ReturnName() string } // 定義一個結構體 type Student struct { Name string } // 定義結構體的一個方法。 // 這個方法同接口People的所有方法,此時可直接認為結構體Student實現(xiàn)了接口People func (s Student) ReturnName() string { return s.Name } func main() { cbs := Student{Name:"咖啡色的羊駝"} var a People a = cbs name := a.ReturnName() fmt.Println(name) // 輸出"咖啡色的羊駝" }
h, ok := a.(People)
這種方式稱為類型斷言表達式。
a.(People)的求值結果可以有兩個:
第一個結果是被轉換后的那個目標類型(這里是Student)的值.
而第二個結果則是轉換操作成功與否的標志。
空接口就是不包含任何方法的接口。正因為如此,所有的數(shù)據(jù)類型都實現(xiàn)了空接口。就像Java中的Object類一樣。
因此空接口可以存儲任意類型的數(shù)據(jù)。
到此,相信大家對“Go語言的接口有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!