我收到一條奇怪的錯誤消息cannot use []feed literal (type []feed) as type []feed in field value,經過一番擺弄和最小化源之后,我發(fā)現這種情況似乎會產生錯誤:type user struct { Feeds []feed}type feed struct{}func fn() { type user struct { Feeds []feed // seems to refer to the outer feed type } type feed struct{} _ = user{ // "cannot use []feed literal (type []feed) as type []feed in field value" Feeds: []feed{}, }}http://play.golang.org/p/gNIGhPwAgl這是預期的行為還是錯誤?我花了一些時間閱讀語言規(guī)范,但找不到任何明確說明范圍中的類型聲明順序應該如何工作的內容。順序在外部作用域中無關緊要,但在內部作用域中卻很重要,這有點不直觀。
范圍內的類型重新聲明順序是否應受外部范圍的影響?
慕工程0101907
2021-11-08 16:02:29