使用切片作為映射鍵
雖然編譯器由於切片的可變性而禁止使用切片作為直接映射鍵,但有一種替代方法可以採用:在將切片用作鍵之前將其轉換為數組。
範例:
package main import "fmt" func main() { h := make(map[[2]string]string) h[[2]string{"a", "b"}] = "ab" fmt.Printf("%v", h) }
在此範例中,鍵是字串陣列的對應被建立。映射鍵的類型明確定義為 [2]string,它是固定大小為 2 的字串陣列。
說明:
由於陣列在 Go 中是不可變的,它們遵守有效映射鍵的要求。這允許您透過將切片轉換為固定大小的陣列來有效地使用切片作為鍵。數組提供必要的不變性性和唯一性,確保可靠且一致的地圖操作。
以上是如何使用切片作為 Go 映射中的鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!