2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
這是語言規(guī)范。
引用相關(guān)部分:聲明和范圍:
在函數(shù)內(nèi)聲明的類型標(biāo)識(shí)符的范圍從TypeSpec中的標(biāo)識(shí)符開始,并在最里面的包含塊的末尾結(jié)束。
在函數(shù)內(nèi)聲明的類型僅在類型標(biāo)識(shí)符(被聲明)的范圍內(nèi)。在此之前,他們不是。
type user struct {
Feeds []feed // This can only be the outer feed type
}
type feed struct{} // new feed type is in scope from this line

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
在 golang-nuts 列表上找到了討論這個(gè)的線程:
簡而言之,這是因?yàn)槁暶鞯捻樞蛟诤瘮?shù)內(nèi)部很重要,但在外部無關(guān)緊要。在包范圍內(nèi),符號(hào)按照滿足其依賴關(guān)系的順序聲明,與它們?cè)陧撁嫔系耐庥^無關(guān);在函數(shù)內(nèi)部,它們按詞法順序聲明。片刻的反思將表明為什么這種不一致是有價(jià)值的,盡管它是不一致的。
-搶
- 2 回答
- 0 關(guān)注
- 251 瀏覽
添加回答
舉報(bào)