golang多個接口實戰,golang接口深入理解

本文目錄一覽:

Golang入門到項目實戰 | golang接口嵌套

接口可以通過嵌套,創建新的接口。例如:飛魚,既可以飛,又可以游泳。我們創建一個飛Fly接口,創建一個游泳接口Swim,飛魚接口由這兩個接口組成。

飛Fly接口

創建Swimmer接口

組合一個接口FlyFish

創建一個結構體Fish

實現這個組合接口

測試

運行結果

Golang入門到項目實戰 | golang接口和類型的關係

一個類型實現多個接口,例如:有一個Player接口可以播放音樂,有一個Video接口可以播放視頻,一個手機Mobile實現這兩個接口,既可以播放音樂,又可以播放視頻。

定義一個Player接口

定義一個Video接口

定義Mobile接口體

實現兩個接口

測試

運行結果

比如,一個寵物接口Pet,貓類型Cat和狗類型Dog都可以實現該接口,都可以把貓和狗當寵物類型對待,這在其他語言中叫多態。

定義一個Pet接口

定義一個Dog結構體

定義一個Cat結構體

實現接口

測試

運行結果

Golang入門到項目實戰 | golang接口

接口像是一個公司裏面的領導,他會定義一些通用規範,只設計規範,而不實現規範。

go語言的接口,是一種新的類型定義,它把所有的具有共性的方法定義在一起,任何其他類型只要實現了這些方法就是實現了這個接口。

語法格式和方法非常類似。

在接口定義中定義,若干個空方法。這些方法都具有通用性。

下面我定義一個USB接口,有讀read和寫write兩個方法,再定義一個電腦Computer和一個手機Mobile來實現這個接口。

USB接口

Computer結構體

Mobile結構體

Computer實現USB接口方法

Mobile實現USB接口方法

測試

運行結果

下面我們定義一個OpenClose接口,裏面有兩個方法open和close,定義個Door結構體,實現其中一個方法。

【Golang】對使用接口實現多態的理解

看【Go語言實戰】這本書第二遍了,看第一遍的時候只是留下個印象,為了加深記憶以及方便回顧,把自己的理解寫出來,僅供參考,Go Go Go,開始

接口是用來定義行為的類型。這些被定義的行為不由接口直接實現,而是通過方法由用戶 定義的類型實現。如果用戶定義的類型實現了某個接口類型聲明的一組方法,那麼這個用戶定 義的類型的值就可以賦給這個接口類型的值。這個賦值會把用戶定義的類型的值存入接口類型 的值。

1、如果參數類型是指針,那麼在調用的時候也必須傳遞指針地址,因為編譯器不是總能自動獲取一個值的地址

2、如果參數類型是值,那調用的時候傳值或者指針都可以,因為通過指針可以獲取到對應的值

1、定義一個接口,接口中定義一個方法,所有想要實現該接口的類型,必須先實現接口中的方法

2、定義一個類型,並為該類型以接收者方式實現【步驟1】中的接口方法

3、聲明一個多態方法,接收的參數類型為【步驟1】中定義的接口類型

4、調用該多態方法,並把【步驟2】中定義的類型作為參數傳遞給【步驟3】中聲明的多態方法,由多態方法來調用接口方法

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/186975.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 13:33
下一篇 2024-11-27 13:34

相關推薦

發表回復

登錄後才能評論