亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

表示init的函數變量

表示init的函數變量

Go
catspeake 2021-06-03 16:08:14
在 Go 中,您可以init在給定的包中定義多個函數,所有這些函數都將在執行之前以未指定的順序運行。擁有多個此類函數的后果之一是無法在正常代碼中調用或識別它們。例如,以下將無法編譯:func main() {    fmt.Println(init)}func init() { }(參見這里的 Go 游樂場示例)我的問題是 - 能夠擁有多個 init 函數有什么好處,如果沒有多個 init 函數,我們是否能夠引用或調用 init 函數?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

能夠擁有多個init功能的優勢主要在于 IMO 提高了局部性的可讀性:如果您必須將所有init功能集中到一個,您可以在正在初始化的東西旁邊編寫初始化函數,而不是遠程編寫。順便說一句,甚至可以在不同的源文件中。

獲取假設的每個包單個init函數的函數指針也可能被禁止。原因是,在某些情況下,擁有這樣的指針將允許init“亂序”調用函數,即。運行其依賴項之前-init其他包中的其他功能。那會破壞某些保證。


查看完整回答
反對 回復 2021-06-21
  • 1 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號