使用切片和陣列作為映射鍵
在Go 中,映射鍵必須實現== 和!= 運算符來比較它們的相等性。切片沒有實作這些運算符,因此切片不能直接用作映射鍵。但是,數組可以用作映射鍵,因為它們實作了必要的運算子。
使用數組作為映射鍵
要使用數組作為映射鍵,您可以使用數組類型作為鍵類型來聲明映射。例如:
package main import "fmt" func main() { m := make(map[[2]int]bool) m[[2]int{1, 2}] = false fmt.Printf("%v", m) }
該映射的鍵類型為 [2]int,它是兩個整數的陣列。 Map的值類型為bool。
透過轉換為字串來使用切片
如果需要使用切片作為Map的key,可以將切片進行轉換到一個字串並使用該字串作為鍵。例如:
package main import ( "fmt" "strconv" ) func main() { m := make(map[string]bool) m[strconv.Itoa([]string{"a", "b"})] = false fmt.Printf("%v", m) }
這個映射有一個字串類型的鍵,它是字串切片的字串表示。地圖的值型別是bool。
以上是切片可以用作 Go 中的映射鍵嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!