考慮以下Go 程式碼片段:
i := 10 next := 11 prev, i := i, next
在此片段中, i 的型別在賦值期間成功推斷為int。但是,當類似的程式碼片段涉及結構體欄位時,類型推斷會失敗,如下所示:
type Foo struct { Bar int } f := Foo{10} next := 11 prev, f.Bar := f.Bar, next
在後一個程式碼片段中,f.Bar 的類型推斷失敗,並顯示錯誤訊息「non-name」 f.Bar on left side of :=".
為了解釋這個行為,我們轉向Go中的相關問題tracker:
Issue 6842(「規格:使用短聲明符號指派給欄位」)將此行為記錄為一個未解決的問題。賦值語法的歧義。中的變數名稱還是欄位名稱。知問題。
以上是為什麼 Go 的類型推斷對於短變數宣告中的結構體欄位會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!