DEV Community

Cover image for Como remover dados duplicados em go
William Koller
William Koller

Posted on

2 1

Como remover dados duplicados em go

Ola devs e devas

Iremos usar de exemplo um slice de int para passarmos dados duplicados nele.

Criaremos um arquivo main.go de exemplo

Image description

Esse é o retorno:

intSliceValues [1 2 3 3 4 4 5 6 7 8 9 9 9]

Agora iremos criar uma function para remover os dados duplicados

Image description

E agora no main, ficaria assim:

Image description

O retorno:

intSliceValues [1 2 3 3 4 4 5 6 7 8 9 9 9]
uniqueSlice [1 2 3 4 5 6 7 8 9]

Conclusão:

  • A partir da função main, declaramos um slice. Também imprimimos o valor original da slice.

  • Definimos uma função onde estamos passando os valores originais do slice e verificando as duplicatas.

  • Lógica para verificação de duplicatas: Para isso definimos outra slice e atribuindo os primeiros valores verificando se o valor já existe na novo slice ou não. Ele retorna o slice sem duplicatas.

  • Estamos chamando a função removeDuplicate da função principal onde o slice de retorno da função é impressa.

Espeor ter ajudado.

Top comments (2)

Collapse
 
cehasli profile image
Cehasli de Castro

Excelente artigo.

Na linha main.go:10, pelo valor ser um bool, poderia ser !keys[entry] também.

Uma coisa que alguns devs usam é um map[chave]struct{} já que o valor não é usado e dependendo da quantidade de chaves, usa menos memória.

Collapse
 
williamkoller profile image
William Koller

Muito obrigado, utilizar menos memória já é sensacional. Obrigado pela dica

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up