Maison >développement back-end >Golang >Comment convertir une tranche de structures en une tranche d'interfaces vides dans Go ?
Lors de la transmission de données à la fonction datastore.PutMulti d'AppEngine, cela nécessite une tranche d'[]interface{}. Cependant, cela peut entraîner des erreurs de compilation si vous tentez d'attribuer une tranche de structures, []*MyStruct, à la tranche []interface{}.
L'erreur survient car le compilateur Go considère ces deux types comme incompatibles. , ce qui entraîne l'échec de l'attribution de src à dest.
Malheureusement, il n'existe aucun moyen direct de copier une tranche de structure dans une tranche d'interface vide sans copier chaque élément individuellement. En effet, la conversion d'une structure vers une interface crée une version encapsulée de la structure. Une interface contient un pointeur vers le type d'origine et un descripteur pour le type lui-même. Par conséquent, pour envelopper correctement chaque structure, vous devez les copier une par une.
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!