Maison > Article > développement back-end > Comment éliminer les doublons d’une tranche, y compris le dernier élément ?
Éliminer les doublons d'une tranche
Le maintien d'éléments uniques au sein d'une tranche est crucial pour une manipulation et une récupération efficaces des données. Considérez un scénario dans lequel vous souhaitez supprimer les homologues en double d’un fichier texte à l’aide d’un PeerID et d’une adresse spécifiques. Bien que la solution fournie semble prometteuse, elle rencontre un problème lorsque le dernier homologue est un doublon.
Pour résoudre ce problème, une approche modifiée qui gère efficacement les suppressions de doublons, y compris le dernier, est :
<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 cette solution révisée, nous introduisons une variable d'index i pour garder une trace de la prochaine position vide dans la tranche. Au fur et à mesure que nous parcourons la tranche, si un élément correspond aux critères en double, nous l'ignorons simplement. Sinon, nous copions l'élément non dupliqué à la ième position et incrémentons i.
Enfin, nous tronquons la tranche pour supprimer tout élément en excès au-delà du dernier élément non dupliqué : cfg.Bootstrap = cfg.Bootstrap[ :je]. Cette approche garantit que tous les doublons, même ceux en fin de tranche, sont efficacement supprimés, préservant ainsi l'intégrité de vos données sans provoquer de panique.
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!