最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Go語(yǔ)言中init函數(shù)的作用是什么

本篇文章為大家展示了Go語(yǔ)言中init函數(shù)的作用是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),宜豐企業(yè)網(wǎng)站建設(shè),宜豐品牌網(wǎng)站建設(shè),網(wǎng)站定制,宜豐網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,宜豐網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Go語(yǔ)言有一個(gè)特殊的函數(shù)init,先于main函數(shù)執(zhí)行,實(shí)現(xiàn)包級(jí)別的一些初始化操作。

對(duì)于init 函數(shù)來(lái)說(shuō):每個(gè)包可以包含任意多個(gè) init 函數(shù),這些函數(shù)都會(huì)在程序執(zhí)行開(kāi)始的時(shí)候被調(diào)用。所有被編譯器發(fā)現(xiàn)的 init 函數(shù)都會(huì)安排在 main 函數(shù)之前執(zhí)行。init 函數(shù)用在設(shè)置包、初始化變量或其他要在程序運(yùn)行前優(yōu)先完成的引導(dǎo)工作。

init函數(shù)的主要作用:1)初始化不能采用初始化表達(dá)式初始化的變量。2)程序運(yùn)行前的注冊(cè)。3)實(shí)現(xiàn)sync.Once功能。(備注:init函數(shù)沒(méi)有輸入?yún)?shù)、返回值。)

1.單個(gè)包中的init函數(shù)執(zhí)行順序

在Go語(yǔ)言中,執(zhí)行順序?yàn)椋撼跏蓟兞?-》init函數(shù)--》main函數(shù)

Go語(yǔ)言中init函數(shù)的作用是什么

結(jié)果分析:通過(guò)輸出結(jié)果,我們可以看到,Go語(yǔ)言的程序,在開(kāi)始運(yùn)行之前,首先執(zhí)行的是變量初始化操作,然后是init()函數(shù),最后是main()函數(shù)。

2.單個(gè)包中有多個(gè)init函數(shù)的話,它們的執(zhí)行順序是不確定的

Go語(yǔ)言中,一個(gè)包文件和一個(gè).go文件中可以實(shí)現(xiàn)多個(gè)init()函數(shù),也不會(huì)編譯出錯(cuò)。

Go語(yǔ)言中init函數(shù)的作用是什么

Go語(yǔ)言中init函數(shù)的作用是什么

結(jié)果分析:通過(guò)輸出結(jié)果,我們能夠看出同一個(gè)包中的init函數(shù)是可以實(shí)現(xiàn)多個(gè)的,理論上他們的執(zhí)行順序可以不同,但是筆者執(zhí)行了5次都是上面的結(jié)果,不知道是不是編譯順序的原因。

3. 相互依賴的包之間的init函數(shù),按照遞歸的順序執(zhí)行

如題,如下圖所示:

Go語(yǔ)言中init函數(shù)的作用是什么

(轉(zhuǎn)載:https://blog.csdn.net/benben_2015/article/details/79486077)

例子如下所示:

Go語(yǔ)言中init函數(shù)的作用是什么

Go語(yǔ)言中init函數(shù)的作用是什么

結(jié)果分析:包的依賴關(guān)系 main->b->a, 所以輸出結(jié)果的init函數(shù)執(zhí)行順序是,先執(zhí)行a中的,再執(zhí)行b中的,最后執(zhí)行c中的。

4. 補(bǔ)充知識(shí):

Go要求非常嚴(yán)格,不允許引用不使用的包,不過(guò)我們可以采用下面的格式(import _ pkg)來(lái)引用,只是用它來(lái)執(zhí)行對(duì)應(yīng)包的init函數(shù)。

將上面c.go中的import "./b" 替換成import _ "./b", 并將main()中的b.B()刪除,執(zhí)行結(jié)果如下所示。

Go語(yǔ)言中init函數(shù)的作用是什么

上述內(nèi)容就是Go語(yǔ)言中init函數(shù)的作用是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:Go語(yǔ)言中init函數(shù)的作用是什么
網(wǎng)頁(yè)鏈接:http://fisionsoft.com.cn/article/iigspg.html