Maison >développement back-end >Golang >Comment utiliser correctement les paramètres variadiques avec « Exec » de Gorm pour les insertions en masse dans Go ?
Utilisation de paramètres variadiques pour rejoindre l'interface de tableau dans Golang
Lors de votre tentative d'exécution d'insertions groupées à l'aide de Gorm, vous avez rencontré une erreur due à un inadéquation entre le nombre de colonnes et les valeurs fournies. Ce problème provient d'un formatage incorrect de votre requête lors de l'utilisation d'une interface tableau.
Solution :
Pour résoudre ce problème, vous devez utiliser le "..." opérateur lors du passage d’éléments de la tranche à la fonction avec des paramètres variadiques. Cela demandera au compilateur de transmettre chaque élément individuellement au lieu de transmettre la valeur de la tranche comme argument unique.
tx.Exec(sqlStr, vals...)
Explication :
Le Tx.Exec() la fonction a la signature func (tx *Tx) Exec(query string, args ...interface{}) (Résultat, erreur). Cela signifie que vous pouvez transmettre un nombre variable d'arguments comme deuxième paramètre, désigné par args. En utilisant l'opérateur "...", vous demandez au compilateur d'étendre la tranche vals en arguments individuels.
Cela entraînera l'exécution de la requête suivante :
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
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!