Suppression d'éléments en double d'une tranche
Dans votre situation, vous rencontrez un problème lors de la suppression d'éléments en double d'une tranche, car vous réitérer la tranche et supprimer des éléments pendant que vous itérez. Cela peut entraîner des erreurs d'indexation et des paniques si un élément en double se trouve à la fin de la tranche.
Pour résoudre ce problème, une approche plus efficace consiste à copier des éléments uniques au début de la tranche, puis à les découper. tout élément excédentaire par la suite. Voici comment procéder :
i := 0
for _, v := range cfg.Bootstrap {
if v.PeerID == peer.PeerID && v.Address == peer.Address {
continue
}
cfg.Bootstrap[i] = v
i
}
cfg.Bootstrap = cfg.Bootstrap[:i]
Dans ce code :
Cette approche garantit que tous les éléments en double sont supprimés et que la tranche reste cohérente tout au long du processus. Cela évite les erreurs d'indexation et les paniques qui peuvent survenir lors de la suppression d'éléments lors d'une itération.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3