DEV Community

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

Posted on

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