• <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>

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

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

            Golang中沒有設計構造函數. 取而代之的, 設計Golang的大師希望你用普通函數去實現構造的任務. 
            一直只是覺得這只是體現Golang這門新語言的精簡設計之道, 直到自己實現編譯器后才發現構造函數的設計本身是值得商榷的

            我們先看下構造函數的規則

            構造函數調用規則

            構造參數量: 0表示沒有構造函數, 1表示有構造函數0個參數

            本類構造父類構造處理方法
            00不處理
            10調本類ctor
            01調父類ctor
            11調本類ctor, 本類ctor調父類ctor
            21調本類ctor, 本類ctor調父類ctor
            12報錯, 手動調父類ctor
            22報錯, 手動調父類ctor

            普通函數重載規則

            實際只用考慮最典型的一種行為: 實例化子類, 轉為父類調用方法, 這個時候

            如果方法是override, 調用的是子類

            如果方法是virutal或者不指明, 調用的是父類

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

            需要構造函數么?

            構造函數的優點

            • 本身屬于一種特殊的成員函數
            • 編譯器幫你自動傳導調用父級

            構造函數的缺點

            • 隱式的調用規則
            • 雖然屬于成員函數, 但是與其他成員函數調用規則完全不同, 需要特殊記憶
            • 帶參數的構造函數, 在父類參數多于子類時, 需要引用復雜語法來實現父級構造調用

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

            所以, 可以理解Golang不加入構造函數的設計是正確的 
            即: 簡單, 清晰, 有規律

            posted on 2016-12-01 10:45 戰魂小筑 閱讀(3355) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術 、Golang
            久久国产精品99精品国产| 久久露脸国产精品| 国产精品久久久99| 久久久久亚洲精品男人的天堂| 久久毛片免费看一区二区三区| 狠狠色综合网站久久久久久久高清| 久久国产热精品波多野结衣AV| 日本久久久久久中文字幕| 无码任你躁久久久久久老妇App| 2021少妇久久久久久久久久| 无码8090精品久久一区| 91精品国产乱码久久久久久| 四虎国产精品免费久久| 99久久综合国产精品二区| 日产精品久久久一区二区| 蜜桃麻豆www久久国产精品| 久久国产精品-国产精品| 日产精品99久久久久久| 亚洲精品国产自在久久| 国产亚洲美女精品久久久| 久久亚洲综合色一区二区三区| 中文字幕人妻色偷偷久久| 日本久久久久久久久久| 久久久WWW成人免费精品| 日本三级久久网| 2020最新久久久视精品爱| 久久久久亚洲AV无码永不| 亚洲AV无码成人网站久久精品大| 久久综合久久性久99毛片| 久久精品亚洲乱码伦伦中文 | 久久天天躁狠狠躁夜夜躁2014| 久久99精品国产99久久6| 久久精品亚洲乱码伦伦中文| 精品国产综合区久久久久久| 精品久久久久久无码中文字幕| A级毛片无码久久精品免费| 99久久国产热无码精品免费久久久久| 国产99久久精品一区二区| 久久精品国产福利国产秒| 国产精品久久久久久久午夜片| 精品国产乱码久久久久久浪潮|