新聞中心
本篇內(nèi)容主要講解“Go語(yǔ)言的類相關(guān)知識(shí)點(diǎn)有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Go語(yǔ)言的類相關(guān)知識(shí)點(diǎn)有哪些”吧!
在長(zhǎng)島等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),長(zhǎng)島網(wǎng)站建設(shè)費(fèi)用合理。
一、公私有屬性
1.C++中的公私有屬性,一定要有關(guān)鍵字public, protected, private來(lái)修飾。
并且這些屬性的作用范圍是針對(duì)類來(lái)說(shuō)的,不是針對(duì)類的實(shí)例來(lái)說(shuō)的,是編譯階段的概念。
詳細(xì)介紹參見(jiàn)我的另外一篇文章:private在C++中的范圍
2.Go中也有公私有的概念,不過(guò)沒(méi)有protected,它區(qū)分公有,還是私有,是通過(guò)變量的第一個(gè)字母的大小寫(xiě)。大寫(xiě)表示的是公有,小寫(xiě)是私有。
不過(guò)這里的作用范圍不是整個(gè)struct內(nèi)部,而是整個(gè)包,公有跨包可以調(diào)用,私有不行,當(dāng)然也是編譯階段的概念。
二、構(gòu)造函數(shù)和析構(gòu)函數(shù)
1.C++的構(gòu)造函數(shù)和析構(gòu)函數(shù)基本上是標(biāo)配,分別用于初始化數(shù)據(jù)和釋放數(shù)據(jù)。
當(dāng)然構(gòu)造函數(shù)和析構(gòu)函數(shù),在C++中被編譯器單獨(dú)處理,因?yàn)檫@兩種函數(shù)與其他函數(shù)不同,沒(méi)有返回值,會(huì)被自動(dòng)調(diào)用。
2.Go中,并沒(méi)有構(gòu)造函數(shù)和析構(gòu)函數(shù)的概念,這和Go語(yǔ)言的內(nèi)存回收機(jī)制有關(guān)系。
對(duì)于析構(gòu)函數(shù),Go提供了defer的關(guān)鍵字,它只要在函數(shù)內(nèi)部實(shí)現(xiàn),等到函數(shù)運(yùn)行結(jié)束時(shí)便會(huì)被自動(dòng)調(diào)用。defer有點(diǎn)像析構(gòu)函數(shù),但是卻不是,因?yàn)樗淖饔梅秶呛瘮?shù)級(jí)別。(后續(xù)會(huì)整理defer )
當(dāng)然Go也可以采取其他手段模擬構(gòu)造函數(shù)和析構(gòu)函數(shù),不過(guò)筆者覺(jué)得最好不這么做,既然Go特意這么設(shè)計(jì),就不希望如此實(shí)現(xiàn)。
三、繼承
1.C++中,繼承很重要,一個(gè)目的是復(fù)用基類的數(shù)據(jù)和方法,一個(gè)目的是實(shí)現(xiàn)多態(tài),是Is-a的關(guān)系。
2.Go中,準(zhǔn)確的說(shuō)不存在繼承,不過(guò)對(duì)于復(fù)用基類的數(shù)據(jù)和方法,可以采用組合的方式,如此以來(lái)的實(shí)現(xiàn),其實(shí)和C++的繼承很像。
對(duì)于C++中多態(tài)的方式,Go中的interface的實(shí)現(xiàn)比較類似,在這里不做過(guò)多闡述。(后續(xù)會(huì)單獨(dú)整理這一部分。)
四、函數(shù)重載
1.C++中支持函數(shù)重載,也就是函數(shù)名字相同,但是參數(shù)不同,這樣C++的編譯器會(huì)把它們當(dāng)做不同的函數(shù)來(lái)實(shí)現(xiàn)。
2.Go中沒(méi)有函數(shù)重載的概念,卻又可變參的函數(shù)支持,這從根本上解決了函數(shù)重載的功能。
到此,相信大家對(duì)“Go語(yǔ)言的類相關(guān)知識(shí)點(diǎn)有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享文章:Go語(yǔ)言的類相關(guān)知識(shí)點(diǎn)有哪些
網(wǎng)站路徑:http://fisionsoft.com.cn/article/gsgisj.html