在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中文網其他相關文章!