首頁  >  文章  >  後端開發  >  如何有效地使用結構體在 Go 映射中建立複合鍵?

如何有效地使用結構體在 Go 映射中建立複合鍵?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-10 04:12:03226瀏覽

How can I effectively use structs to create composite keys in Go maps?

在Go 映射中使用複合鍵的結構

在Go 中,雜湊映射中的複合鍵允許組合多個值以形成唯一鍵地圖。與資料庫中的組合鍵不同,它們用於計算目的。

要將pow(x, y) 的計算值儲存在雜湊表中,您可以使用結構體定義組合鍵:

type Key struct {
    X, Y int
}

這個結構體組合了x 和y值來建立一個鍵。您可以在映射中使用此鍵,如下所示:

m := map[Key]int{}
m[Key{2, 2}] = 4
m[Key{2, 3}] = 8

fmt.Println("2^2 =", m[Key{2, 2}])
fmt.Println("2^3 =", m[Key{2, 3}])

輸出:

2^2 = 4
2^3 = 8

結構體用作鍵,因為它們提供了一種將多個值表示為單一單元的簡單方法。它們確保定義正確的比較運算子(== 和 !=),從而允許從映射中高效檢索鍵。

不建議使用指標作為鍵類型,因為指標比較僅檢查記憶體位址而不是實際值。數組也可以用作鍵類型,但結構提供了更大的靈活性。

以上是如何有效地使用結構體在 Go 映射中建立複合鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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