首頁 >後端開發 >Golang >為什麼 Go 的型別推斷對於結構體字段賦值失敗?

為什麼 Go 的型別推斷對於結構體字段賦值失敗?

Barbara Streisand
Barbara Streisand原創
2024-12-28 17:29:30636瀏覽

Why Does Go's Type Inference Fail for Struct Field Assignments?

Go 賦值中的型別推論失敗

Go 的型別推論機制通常允許簡潔的賦值語句。但是,某些賦值可能無法如預期推斷類型。

請考慮以下範例:

此程式碼段正確推斷變數的類型並相應地分配它們。

但是,涉及結構體欄位的類似賦值可能會遇到類型推斷問題:

在這種情況下,編譯器會報告錯誤:「non-name on left side of :=.”

造成這種差異的原因是在第一個範例中,賦值的左側是變數名,而在第二個範例中,它是結構體欄位。 Go 的類型推斷引擎需要左側的命名變數來推斷右側的類型。

此問題被確認為 Go 問題 6842。它不被視為錯誤,而是限制當前類型推斷實現的一部分。

以上是為什麼 Go 的型別推斷對於結構體字段賦值失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn