第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

init() 函數(shù)可以安全地啟動(dòng) go 例程,包括測(cè)試嗎?

init() 函數(shù)可以安全地啟動(dòng) go 例程,包括測(cè)試嗎?

Go
紫衣仙女 2023-07-10 16:22:39
我有一個(gè)應(yīng)用程序。它創(chuàng)建一個(gè) HTTP 服務(wù)來(lái)監(jiān)聽一些連接點(diǎn),我們可以用它來(lái)檢查應(yīng)用程序狀態(tài)。該服務(wù)在后臺(tái)運(yùn)行(帶有 go 例程)。它在函數(shù)中被初始化,init()其中包括:func?init()?{ ????... ????initHttpEndPoints(); ????... }在測(cè)試此應(yīng)用程序時(shí),在函數(shù)中創(chuàng)建 go 例程是否會(huì)init()導(dǎo)致問題?我問這個(gè)問題是因?yàn)榭雌饋?lái)我的測(cè)試重新運(yùn)行了init()第二次,我想知道為什么會(huì)這樣以及副作用可能是什么......(如果所有的 go 例程突然都發(fā)生的話,可能不太好重復(fù)。)注意:完整的應(yīng)用程序。在函數(shù)中創(chuàng)建數(shù)百個(gè) go 例程init()。我使用 HTTP 端點(diǎn)作為示例。強(qiáng)烈相關(guān)的答案:測(cè)試是否同時(shí)運(yùn)行?
查看完整描述

2 回答

?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

除了 icza 的答案之外,聽起來(lái)您init()對(duì)軟件包的使用不正確testing

init()您應(yīng)該定義 function ,而不是使用它來(lái)初始化測(cè)試所需的東西TestMain()。


查看完整回答
反對(duì) 回復(fù) 2023-07-10
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

規(guī)格:包初始化:

包初始化(變量初始化和 init 函數(shù)的調(diào)用)發(fā)生在單個(gè) goroutine 中,按順序一次一個(gè)包。init 函數(shù)可以啟動(dòng)其他 goroutine,這些 goroutine 可以與初始化代碼同時(shí)運(yùn)行。然而,初始化總是對(duì) init 函數(shù)進(jìn)行排序:在前一個(gè)函數(shù)返回之前,它不會(huì)調(diào)用下一個(gè)函數(shù)。

從函數(shù)啟動(dòng) goroutine 沒有任何問題init(),但您必須記住這些 goroutine 與初始化過程同時(shí)運(yùn)行,因此例如您不能假設(shè)有關(guān)(當(dāng)前)包的初始化狀態(tài)的任何信息。

如果您看到您的init()函數(shù)多次運(yùn)行,則很可能是多個(gè)測(cè)試單獨(dú)運(yùn)行。init()函數(shù)在包的生命周期內(nèi)僅運(yùn)行一次。


查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)