• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰(zhàn)魂小筑

            討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開源項(xiàng)目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            Golang中沒有設(shè)計(jì)構(gòu)造函數(shù). 取而代之的, 設(shè)計(jì)Golang的大師希望你用普通函數(shù)去實(shí)現(xiàn)構(gòu)造的任務(wù). 
            一直只是覺得這只是體現(xiàn)Golang這門新語言的精簡設(shè)計(jì)之道, 直到自己實(shí)現(xiàn)編譯器后才發(fā)現(xiàn)構(gòu)造函數(shù)的設(shè)計(jì)本身是值得商榷的

            我們先看下構(gòu)造函數(shù)的規(guī)則

            構(gòu)造函數(shù)調(diào)用規(guī)則

            構(gòu)造參數(shù)量: 0表示沒有構(gòu)造函數(shù), 1表示有構(gòu)造函數(shù)0個參數(shù)

            本類構(gòu)造父類構(gòu)造處理方法
            00不處理
            10調(diào)本類ctor
            01調(diào)父類ctor
            11調(diào)本類ctor, 本類ctor調(diào)父類ctor
            21調(diào)本類ctor, 本類ctor調(diào)父類ctor
            12報錯, 手動調(diào)父類ctor
            22報錯, 手動調(diào)父類ctor

            普通函數(shù)重載規(guī)則

            實(shí)際只用考慮最典型的一種行為: 實(shí)例化子類, 轉(zhuǎn)為父類調(diào)用方法, 這個時候

            如果方法是override, 調(diào)用的是子類

            如果方法是virutal或者不指明, 調(diào)用的是父類

            整個重載過程, 子類絕對不會隱式調(diào)用父類的行為

            需要構(gòu)造函數(shù)么?

            構(gòu)造函數(shù)的優(yōu)點(diǎn)

            • 本身屬于一種特殊的成員函數(shù)
            • 編譯器幫你自動傳導(dǎo)調(diào)用父級

            構(gòu)造函數(shù)的缺點(diǎn)

            • 隱式的調(diào)用規(guī)則
            • 雖然屬于成員函數(shù), 但是與其他成員函數(shù)調(diào)用規(guī)則完全不同, 需要特殊記憶
            • 帶參數(shù)的構(gòu)造函數(shù), 在父類參數(shù)多于子類時, 需要引用復(fù)雜語法來實(shí)現(xiàn)父級構(gòu)造調(diào)用

            其實(shí)我們對初始化函數(shù)的需求只有1條: 自定義

            所以, 可以理解Golang不加入構(gòu)造函數(shù)的設(shè)計(jì)是正確的 
            即: 簡單, 清晰, 有規(guī)律

            posted on 2016-12-01 10:45 戰(zhàn)魂小筑 閱讀(3355) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術(shù)Golang
            四虎国产精品免费久久久| 亚洲国产成人精品女人久久久 | 久久精品国产免费观看| 77777亚洲午夜久久多喷| 日韩亚洲欧美久久久www综合网| 久久精品国产一区二区| 亚洲精品无码久久久影院相关影片| 潮喷大喷水系列无码久久精品| 久久久艹| 欧美777精品久久久久网| 欧美精品乱码99久久蜜桃| 99久久婷婷国产综合亚洲| 亚洲精品99久久久久中文字幕| 久久免费美女视频| 欧美牲交A欧牲交aⅴ久久| 一极黄色视频久久网站| 亚洲国产精品久久久久婷婷老年| 国内精品综合久久久40p| 亚洲成av人片不卡无码久久 | 亚洲精品乱码久久久久久按摩 | 久久综合综合久久97色| 三上悠亚久久精品| 久久久精品久久久久影院| 久久久久女教师免费一区| 99久久久久| 久久久久久久99精品免费观看| 少妇久久久久久久久久| 久久国产欧美日韩精品免费| 久久久久国产一区二区三区| 欧美久久综合性欧美| 中文字幕一区二区三区久久网站| 国产情侣久久久久aⅴ免费| 久久久久亚洲AV成人片| 欧美熟妇另类久久久久久不卡| 亚洲中文字幕无码久久综合网| 精品久久久无码人妻中文字幕| 久久久久久久久66精品片| 精品久久人人爽天天玩人人妻| 蜜臀av性久久久久蜜臀aⅴ| 久久午夜无码鲁丝片| 国产精品欧美久久久天天影视|