最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang struct 實(shí)現(xiàn) interface的方法

 更新時間:2018年07月19日 15:05:37   作者:sanerersan  
這篇文章主要介紹了golang struct 實(shí)現(xiàn) interface的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

golang中,一般strcut包含 interface類型后,struct類型都需要實(shí)現(xiàn) interface導(dǎo)出的接口,從而成為相應(yīng)的 interface接口類。

實(shí)際上,struct包含interface之后,并不需要實(shí)現(xiàn)interface的接口,也能成為 interface接口類。

代碼如下:

type newEr interface {  

  New()

}

type testInterface interface {  

  newEr  

  Done() <-chan struct{}

}

type kkTest struct {  

  testInterface

}

func NewTest() newEr {  

  return kkTest{}

}

func main() {  

  kk := NewTest()  

  i,ok := kk.(testInterface)  

  fmt.Println(i,ok)  

  ch := i.Done()  

  fmt.Println(ch)

}

其中  i,ok := kk.(testInterface)  測試成功,也就是說 kkTest  已經(jīng)是 testInterface 接口類,但是后續(xù) ch := i.Done()    引發(fā) panic,這個也是預(yù)料之內(nèi)的。

相關(guān)的應(yīng)用可以看 context包中的實(shí)現(xiàn),valueCtx部分實(shí)現(xiàn)了 Context 接口函數(shù),對其不需要的函數(shù)沒有實(shí)現(xiàn),如果調(diào)用了這些未實(shí)現(xiàn)的函數(shù)就會導(dǎo)致 panic。這樣在程序排錯其實(shí)是很有好處的,因?yàn)檎{(diào)用到這些接口,說明代碼其實(shí)已經(jīng)寫錯了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Golang 中的并發(fā)限制與超時控制

    詳解Golang 中的并發(fā)限制與超時控制

    這篇文章主要介紹了詳解Golang 中的并發(fā)限制與超時控制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • go語言LeetCode題解720詞典中最長的單詞

    go語言LeetCode題解720詞典中最長的單詞

    這篇文章主要為大家介紹了go語言LeetCode題解720詞典中最長的單詞,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • go xorm框架的使用

    go xorm框架的使用

    xorm框架和Spring Data Jpa有點(diǎn)相似,可以對比學(xué)習(xí),對于這個框架感覺還不錯,閑暇時間學(xué)習(xí)一下
    2021-05-05
  • golang mysql的連接池的具體使用

    golang mysql的連接池的具體使用

    本文主要介紹了golang mysql的連接池的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Golang并發(fā)控制的三種實(shí)現(xiàn)方法

    Golang并發(fā)控制的三種實(shí)現(xiàn)方法

    在Golang中,有多種方式可以進(jìn)行并發(fā)控制,本文詳細(xì)的介紹了三種實(shí)現(xiàn)方法,Channel優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,清晰易懂,WaitGroup優(yōu)點(diǎn)是子協(xié)程個數(shù)動態(tài)可調(diào)整,Context 優(yōu)點(diǎn)是對子協(xié)程派生出來的孫子協(xié)程的控制,缺點(diǎn)是相對而言的,要結(jié)合實(shí)例應(yīng)用場景進(jìn)行選擇
    2023-08-08
  • Go代碼檢查的推薦工具及使用詳解

    Go代碼檢查的推薦工具及使用詳解

    這篇文章主要為大家介紹了Go代碼檢查的推薦工具及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Go語言實(shí)現(xiàn)websocket推送程序

    Go語言實(shí)現(xiàn)websocket推送程序

    這篇文章主要介紹了Go語言實(shí)現(xiàn)websocket推送程序,WebSocket是基于TCP的一個雙向傳輸數(shù)據(jù)的協(xié)議,和HTTP協(xié)議一樣,是在應(yīng)用層的,他的出現(xiàn),是為了解決網(wǎng)頁進(jìn)行持久雙向傳輸數(shù)據(jù)的問題
    2023-01-01
  • Go中的格式化字符串fmt.Sprintf()和fmt.Printf()使用示例

    Go中的格式化字符串fmt.Sprintf()和fmt.Printf()使用示例

    這篇文章主要為大家介紹了Go中的格式化字符串fmt.Sprintf()和fmt.Printf()使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 我放棄Python轉(zhuǎn)Go語言的9大理由(附優(yōu)秀書籍推薦)

    我放棄Python轉(zhuǎn)Go語言的9大理由(附優(yōu)秀書籍推薦)

    這篇文章主要給大家介紹了關(guān)于我放棄Python轉(zhuǎn)Go語言的9大理由,以及給大家推薦了6本優(yōu)秀的go語言書籍,對同樣想學(xué)習(xí)golang的朋友們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Go語言實(shí)現(xiàn)的可讀性更高的并發(fā)神庫詳解

    Go語言實(shí)現(xiàn)的可讀性更高的并發(fā)神庫詳解

    這篇文章主要為大家介紹了Go語言實(shí)現(xiàn)的可讀性更高的并發(fā)神庫詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01

最新評論

铜陵市| 盐源县| 五家渠市| 星子县| 南乐县| 苍山县| 丰台区| 庆城县| 扬中市| 永城市| 勃利县| 裕民县| 天等县| 介休市| 时尚| 广水市| 宿迁市| 香格里拉县| 江津市| 南充市| 黄冈市| 贵德县| 兰考县| 宽甸| 大名县| 响水县| 岱山县| 界首市| 平舆县| 武胜县| 南丹县| 静宁县| 正定县| 天全县| 康定县| 儋州市| 淅川县| 竹溪县| 福州市| 龙口市| 呼玛县|