go語言的介面案例

2021-10-05 07:47:55 字數 2884 閱讀 2365

學習資料來自

package main

import

"fmt"

func

main()

testinte***ce

(m1)

f1 := flashdisk

testinte***ce

(f1)

}//1.定義介面

type usb inte***ce

//2.實現類

type mouse struct

type flashdisk struct

func

(m mouse)

start()

func

(m mouse)

end(

)func

(m flashdisk)

start()

func

(m flashdisk)

end(

)//3、除錯方法

func

testinte***ce

(usb usb )

將上述的main函式修改如下:

"李華"

介面斷言:

方法1:instacne := 介面物件.(實際型別)//不安全

方法2: instance ,ok :=介面物件.(實際型別)//安全

方法3:switch instance := 介面物件.(type)

*/func

main()

gettype2

(t1)

fmt.

println

(t1.

area()

)}//1.定義乙個介面

type shape inte***ce

type ******** struct

func

(t ********)

peri()

float64

func

(t ********)

area()

float64

type circle struct

func

(c circle)

peri()

float64

func

(c circle)

area()

float64

func

gettype

(s shape)

else

if ins,ok :=s.

(circle)

;okelse

}func

gettype2

(s shape)

}

Go語言的介面

介面是一種抽象型別,是對其他型別行為的概括與抽象,從語法角度來看,介面是一組方法定義的集合。很多物件導向的語言都有介面這個概念,但go語言介面的獨特之處在於它是隱式實現。換句話說,對於乙個具體的型別,無須宣告它實現了哪些介面,只要提供介面所必需的方法即可。這種設計讓程式設計人員無須改變已有型別的實現...

Go 語言介面

go 語言提供了另外一種資料型別即介面,它把所有的具有共性的方法定義在一起,任何其他型別只要實現了這些方法就是實現了這個介面。例項 定義介面 type inte ce name inte ce 定義結構體 type struct name struct 實現介面方法 func struct name...

Go語言 介面

介面代表一種呼叫契約,是多個方法宣告的集合。介面要實現的是做什麼,而不關心如何做。介面最常見的使用場景是對包外提供訪問,或預留擴充套件空間。go語言介面實現機制很簡潔,只要目標型別方法集內包含介面宣告的全部方法,就被視為實現了該介面,無需做顯示宣告,當然目標型別可實現多個介面。其實介面也是一中結構,...