首頁 > 後端開發 > Golang > 為什麼我無法在 Go 中取得指向地圖的指標?

為什麼我無法在 Go 中取得指向地圖的指標?

Susan Sarandon
發布: 2024-11-28 03:30:11
原創
471 人瀏覽過

Why Can't I Get a Pointer to a Map in Go?

Golang 中的指標和映射

在Go 中,映射是引用類型,這意味著它們儲存實際資料的引用而不是值本身。這可以實現高效的記憶體管理,因為多個物件可以指向相同的底層資料。

但是,嘗試在 Go 中使用 & 運算子取得指向映射的指標可能會導致錯誤。這是因為 Go 中的映射已經透過引用傳遞。當您執行賦值時,例如 valueTo := &valueToSomeType,您並不是在建立指針,而是將映射的參考值賦給新變數。這實際上指向與原始映射相同的基礎資料。

因此,表達式 valueTo[number] 不適用於指向映射的指標。相反,您應該直接使用 .運算符,如 valueTo[number].

綜上所述,Go 中的映射已經是引用類型,因此不需要使用指標來實現引用語義。存取地圖元素可以直接使用 .運算符,因為地圖始終透過引用傳遞。

以上是為什麼我無法在 Go 中取得指向地圖的指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板