使用切片和陣列作為映射鍵
在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。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3