首頁 >後端開發 >Golang >如何在 Go Map 中使用使用者定義的結構體作為鍵?

如何在 Go Map 中使用使用者定義的結構體作為鍵?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-10 16:30:18564瀏覽

How Can I Use User-Defined Structs as Keys in Go Maps?

具有使用者定義鍵和自訂相等性的 Go 映射

使用使用者定義鍵實現 Go 映射需要遵守特定的相等規則。不幸的是,Go 的內建相等操作無法針對映射鍵進行自訂。但是,存在一種有效的解決方法。

不要直接使用結構體實例作為鍵,而是考慮派生一個可以用作內在鍵並與您所需的相等語義保持一致的唯一屬性。例如,您可以派生代表實例身分的整數或字串值。

確保僅當對應值代表真實語意身分時才會發生鍵衝突至關重要。這確保了可互換的值被正確地映射。

例如:

請記住,這種方法需要不可變的鍵。修改上例中的欄位會使金鑰的身份無效,使其不適合作為雜湊密鑰。

以上是如何在 Go Map 中使用使用者定義的結構體作為鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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