マップからキーを取得する場合、型の互換性を確保することが重要です。 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 中国語 Web サイトの他の関連記事を参照してください。