<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    golang 之 接口

    Posted on 2013-12-22 12:45 oathleo 閱讀(4390) 評論(1)  編輯  收藏 所屬分類: Golang
    conn, err = ln.Accept()
    go handleConnection(conn)
    看到這里我曾經有個疑問,為什么不是  handleConnection(&conn) ?

    下面這個例子解釋這個問題

    package main

    import (
        "fmt"
    )

    type Interface interface {
        say() string
    }

    type Object struct {
    }

    func (this *Object) say() string {
        return "hello"
    }

    func do(i Interface) string {
        return i.say()
    }

    func main() {
        o := Object{}
        fmt.Println(do(&o))
        fmt.Printf("CCCCCCCCCCC:%T", o)
    }

    函數的參數以接口定義,編譯器會自己判斷參數是對象還是對象的指針
    比如,say是指針上的方法,所以do只接受Object的指針做參數,do(o)是編譯不過的

    所以看到庫里接口做參數類型定義的時候,可以簡單認為,這個接口肯定是個對象指針(雖然也可以用對象,單估計沒有哪個類庫會用)

    例如:
    conn, err = ln.Accept()
    go handleConnection(conn)

    這里conn是個接口,不需要 go handleConnection(&conn)

    Feedback

    # re: golang 之 接口  回復  更多評論   

    2013-12-22 13:00 by 零柒鎖業
    期待更新啊
    主站蜘蛛池模板: 亚洲视频欧洲视频| 亚洲精品资源在线| 国产乱弄免费视频| 日本免费人成视频播放| 亚洲欧美国产国产综合一区| 99久久免费国产香蕉麻豆| 99视频精品全部免费观看| 欧美最猛性xxxxx免费| 亚洲av午夜成人片精品电影| 亚洲国产另类久久久精品| 亚洲天堂免费在线| 免费在线中文日本| 免费鲁丝片一级在线观看| 亚洲无码日韩精品第一页| 亚洲一区二区三区深夜天堂| 国产精品免费看久久久香蕉| 日本高清不卡aⅴ免费网站| 亚洲免费网站在线观看| 免费看小12萝裸体视频国产| 亚洲AV无码久久精品成人| 亚洲欧美日韩一区二区三区| 中文字幕在线免费看| 最新中文字幕免费视频| 国产亚洲色婷婷久久99精品| 日本亚洲免费无线码| 两个人看的www高清免费视频| 亚洲熟妇无码乱子AV电影| 爱情岛论坛亚洲品质自拍视频网站| 性感美女视频免费网站午夜| 国产99久久亚洲综合精品| 国产成人精品日本亚洲专区61 | 亚洲性日韩精品国产一区二区| jizz免费观看视频| 亚洲国产第一页www| 成年性生交大片免费看| eeuss草民免费| 亚洲av无码专区在线| 亚洲精品无码专区2| 中文免费观看视频网站| 日本一区二区三区在线视频观看免费| 亚洲国产精品无码久久久不卡|