<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 零柒鎖業
    期待更新啊
    主站蜘蛛池模板: 亚洲综合国产精品第一页 | 青青草a免费线观a| 亚洲一区二区三区免费| 国产精品亚洲四区在线观看| 久久精品国产亚洲一区二区| 国外成人免费高清激情视频| 97精品免费视频| 国产va免费精品| 麻豆亚洲AV成人无码久久精品 | 99久久精品日本一区二区免费 | 免费一级毛片在级播放| 西西大胆无码视频免费| 久久久免费精品re6| 亚洲免费日韩无码系列| 亚洲成a人片在线不卡一二三区 | 99久久免费国产精精品| 未满十八私人高清免费影院| 亚洲国产区男人本色| 亚洲日本va在线观看| 亚洲欧洲国产精品久久| 亚洲欧洲日韩不卡| 亚洲va中文字幕无码久久| 在线精品亚洲一区二区小说| 免费一级特黄特色大片在线| 日韩毛片免费在线观看| 丁香花在线观看免费观看| 久久经典免费视频| 免费无码黄十八禁网站在线观看| 中国xxxxx高清免费看视频| 99久久久国产精品免费蜜臀| 日韩视频在线观看免费| 中文字幕日本人妻久久久免费| 国产做国产爱免费视频| 最近中文字幕免费大全| 99在线热播精品免费99热| a毛片免费观看完整| 国产精成人品日日拍夜夜免费| 国产午夜精品免费一区二区三区| 中文在线免费不卡视频| 精品国产麻豆免费人成网站| 国产成人精品无码免费看|