Excluindo itens duplicados de uma fatia
Na sua situação, você está enfrentando um problema ao excluir itens duplicados de uma fatia porque você re iterando pela fatia e removendo elementos enquanto você está iterando. Isso pode levar a erros de índice e pânico se um item duplicado estiver localizado no final da fatia.
Para resolver esse problema, uma abordagem mais eficiente é copiar elementos exclusivos para o início da fatia e depois apará-los. quaisquer elementos em excesso posteriormente. Veja como você pode fazer isso:
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]
Neste código:
Essa abordagem garante que todos os elementos duplicados sejam removidos e a fatia permaneça consistente durante todo o processo. Ele evita erros de índice e pânico que podem ocorrer ao remover elementos durante a iteração.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3