從映射中擷取鍵時,確保類型相容性至關重要。 Go 的強型別要求對應相同類型的鍵。不幸的是,如果您的 Keys() 函數指定了 map[interface{}]interface{} 類型的映射,但您的實際映射是 map[int]interface{} 類型,您將遇到類型不符錯誤。
Go 不支援泛型,與 Java 或 C# 等語言不同。這簡化了語言並提高了效能。因此,您無法建立對任何鍵或值類型的映射進行操作的泛型函數。
要解決類型不匹配問題,您有多種選擇:
func Keys(m map[int]interface{}) []int { keys := make([]int, len(m)) i := 0 for k := range m { keys[i] = k i++ } return keys }
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
以上是如何在 Go 中安全地檢索映射鍵:解決類型不符問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!