Maison >développement back-end >Golang >Comment supprimer efficacement les éléments en double d'une tranche en Go ?
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 :
<code class="go">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]</code>
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.
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!