Lors de la récupération des clés d'une carte, il est crucial de garantir la compatibilité des types. La saisie forte de Go nécessite que les touches de mappage du même type soient mappées. Malheureusement, si votre fonction Keys() spécifie une carte de type map[interface{}]interface{}, mais que votre carte réelle est de type map[int]interface{}, vous rencontrerez une erreur d'incompatibilité de type.
Go ne prend pas en charge les génériques, contrairement aux langages comme Java ou C#. Cela simplifie le langage et améliore les performances. Par conséquent, vous ne pouvez pas créer de fonctions génériques qui fonctionnent sur des mappages de n'importe quel type de clé ou de valeur.
Pour résoudre l'incompatibilité de type, vous disposez de plusieurs options :
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", }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!