看【Go語言實戰】這本書第二遍了,看第一遍的時候只是留下個印象,為了加深記憶以及方便回顧,把自己的理解寫出來,僅供參考,Go Go Go,開始
淮濱ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
接口是用來定義行為的類型。這些被定義的行為不由接口直接實現,而是通過方法由用戶 定義的類型實現。如果用戶定義的類型實現了某個接口類型聲明的一組方法,那么這個用戶定 義的類型的值就可以賦給這個接口類型的值。這個賦值會把用戶定義的類型的值存入接口類型 的值。
1、如果參數類型是指針,那么在調用的時候也必須傳遞指針地址,因為編譯器不是總能自動獲取一個值的地址
2、如果參數類型是值,那調用的時候傳值或者指針都可以,因為通過指針可以獲取到對應的值
1、定義一個接口,接口中定義一個方法,所有想要實現該接口的類型,必須先實現接口中的方法
2、定義一個類型,并為該類型以接收者方式實現【步驟1】中的接口方法
3、聲明一個多態方法,接收的參數類型為【步驟1】中定義的接口類型
4、調用該多態方法,并把【步驟2】中定義的類型作為參數傳遞給【步驟3】中聲明的多態方法,由多態方法來調用接口方法
因為結構Student和Teacher實現接口Human的方法SayHello時,接受的是通過一個指針類型的變量(見(s *Student)和(t *Teacher))來調用這個方法。因此,在調用SayHi函數時,只能傳遞Student或Teacher的對象的地址,傳遞它們的對象是錯的。
相反,如果結構Student和Teacher實現接口Human的方法SayHello時,接受的是通過一個對象(像(s Student)和(t Teacher))來調用這個方法。則在調用SayHi函數時,既能傳遞Student或Teacher的對象,也能傳遞Student或Teacher的對象的地址。
接口像是一個公司里面的領導,他會定義一些通用規范,只設計規范,而不實現規范。
go語言的接口,是一種新的類型定義,它把所有的具有共性的方法定義在一起,任何其他類型只要實現了這些方法就是實現了這個接口。
語法格式和方法非常類似。
在接口定義中定義,若干個空方法。這些方法都具有通用性。
下面我定義一個USB接口,有讀read和寫write兩個方法,再定義一個電腦Computer和一個手機Mobile來實現這個接口。
USB接口
Computer結構體
Mobile結構體
Computer實現USB接口方法
Mobile實現USB接口方法
測試
運行結果
下面我們定義一個OpenClose接口,里面有兩個方法open和close,定義個Door結構體,實現其中一個方法。
在正常的測試中,當我們需要進行接口測試時,通常使用接口調試工具,如postman進行接口測試
目前我在嘗試使用Go語言進行接口測試,使用的庫均為Go自帶的庫。
注:當前采用的接口為時事新聞接口,每天可以請求100次,需要的同學,可以自行使用。
網站標題:go語言傳遞一組接口 go傳遞chan指針
文章位置:http://vcdvsql.cn/article48/dopesep.html
成都網站建設公司_創新互聯,為您提供網站策劃、響應式網站、云服務器、Google、虛擬主機、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯