Suppression d'éléments des tableaux Struct dans les boucles dans Go
Problème :
Lors de la suppression d'éléments d'un tableau de structures dans une boucle, l'erreur "hors plage" peut se produire.
Solution :
Pour supprimer des éléments par clé d'un tableau de structures, il est recommandé d'utiliser l'une des astuces de découpage suivantes :
a = append(a[:i], a[i+1:]...)
ou
a = a[:i+copy(a[i:], a[i+1:])]
Remarque importante :
Si Lorsque vous supprimez des éléments de la tranche en cours de boucle, il est crucial d'utiliser une boucle descendante pour éviter de sauter des éléments.
Code modifié :
// Your original loop with the issue: // for i, application := range config.Applications { // if i == 1 { // config.Applications = _removeApplication(i, config.Applications) // } // } // Corrected code using downward loop: for i := len(config.Applications) - 1; i >= 0; i-- { application := config.Applications[i] // Condition to decide if current element has to be deleted: if haveToDelete { config.Applications = append(config.Applications[:i], config.Applications[i+1:]...) } }
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!