• <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 戰魂小筑 閱讀(3341) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術Golang
            人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 激情久久久久久久久久| 国产精品亚洲综合专区片高清久久久| 99久久免费国产特黄| 久久无码专区国产精品发布| 丁香五月综合久久激情| 国产精品免费看久久久| 色综合久久久久久久久五月| 久久人人爽人人爽人人片AV高清 | 婷婷久久综合九色综合98| 久久影院综合精品| 蜜臀久久99精品久久久久久小说| 99久久国产宗和精品1上映| 中文字幕无码久久久| 国产精品中文久久久久久久| 久久青青色综合| 色婷婷综合久久久中文字幕 | 天天久久狠狠色综合| 7国产欧美日韩综合天堂中文久久久久 | 亚洲一本综合久久| 97久久精品人人做人人爽| 国产三级观看久久| 久久免费国产精品| 久久只有这精品99| 国产aⅴ激情无码久久| www久久久天天com| 欧美久久综合性欧美| 久久国产成人亚洲精品影院| 亚洲AⅤ优女AV综合久久久| 国内精品伊人久久久影院| 亚洲精品无码专区久久久 | 狠狠色婷婷久久一区二区三区| 久久久久久a亚洲欧洲aⅴ| 久久精品亚洲男人的天堂| 精品国产乱码久久久久软件| 久久综合给合久久国产免费| 久久久久免费精品国产| 久久久久婷婷| 欧美午夜精品久久久久免费视| 7国产欧美日韩综合天堂中文久久久久 | 91精品免费久久久久久久久|