Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon quais são os erros comuns a serem evitados ao aprender Go


quais são os erros comuns a serem evitados ao aprender Go


Ao aprender Go, é essencial evitar erros comuns que podem levar a códigos ineficientes, erros e frustração. Aqui estão alguns erros comuns a serem evitados:

1. Entrada no Mapa Nulo:
- Problema: Quando você define um mapa no Go, ele é inicialmente nulo. Se você tentar acessá-lo diretamente, seu programa entrará em pânico.
- Solução: Inicialize seu mapa usando a função `make` ou um mapa literal.

2. Desreferência de ponteiro nulo:
- Problema: Se você tentar desreferenciar um ponteiro nulo, seu programa entrará em pânico.
- Solução: Certifique-se de criar um novo ponteiro ou usar um método receptor de ponteiro.

3. Valores múltiplos em contexto de valor único:
- Problema: Quando você tenta retornar vários valores em um contexto de valor único, seu programa entra em pânico.
- Solução: certifique-se de usar os tipos de retorno corretos e tratar os erros adequadamente.

4. Valores de matriz imutáveis:
- Problema: Matrizes em Go são valores, não referências. Isso significa que as alterações em um array não afetam o array original.
- Solução: Use fatias em vez de matrizes, pois as fatias são referências e podem ser modificadas.

5. Variável de sombra:
- Problema: Se você declarar uma variável com o mesmo nome de um parâmetro de função, isso ocultará o parâmetro.
- Solução: Use um nome diferente para a variável ou use o comando `go run` com o sinalizador `-gcflags` para desativar o sombreamento.

6. Vírgula ausente em matriz multilinha ou fatia:
- Problema: Se você esquecer de incluir uma vírgula no final de cada linha em uma matriz ou fatia multilinhas, seu código não será compilado.
- Solução: Certifique-se de que cada linha termine com uma vírgula.

7. Uso incorreto da função Trim:
- Problema: A função `trim` em Go remove todos os pontos Unicode em um cutset. Isso pode levar a resultados inesperados.
- Solução: Use `TrimSuffix` em vez de `trim` para obter mais controle sobre o processo de corte.

8. Uso incorreto da função de cópia:
- Problema: A função `copy` em Go copia o número mínimo de elementos da origem para o destino. Isso pode levar a resultados inesperados.
- Solução: certifique-se de usar o número correto de elementos e tratar os erros adequadamente.

9. Não revisando jogos:
- Problema: Não revisar seus jogos pode levar à perda de oportunidades de melhoria.
- Solução: Revise regularmente seus jogos para identificar áreas que precisam ser melhoradas.

10. Não obtendo ajuda de jogadores mais fortes:
- Problema: Não buscar a ajuda de jogadores mais fortes pode levar à perda de oportunidades de melhoria.
- Solução: Procure ajuda de jogadores mais fortes para aprender novas estratégias e melhorar seu jogo.

11. Não usando valores de retorno nomeados:
- Problema: Não usar valores de retorno nomeados pode resultar em código mais difícil de ler.
- Solução: use valores de retorno nomeados para tornar seu código mais legível e fácil de manter.

12. Uso incorreto de adiar:
- Problema: O uso indevido da palavra-chave `defer` pode levar a um código difícil de ler e entender.
- Solução: Certifique-se de usar `defer` corretamente para adiar a execução de uma função até que a função circundante retorne.

13. Uso incorreto de tipos de dados:
- Problema: Usar o tipo de dados errado pode levar a um comportamento inesperado.
- Solução: Certifique-se de usar o tipo de dados correto para a tarefa.

14. Não usar bibliotecas integradas:
- Problema: não usar bibliotecas integradas pode resultar em código mais difícil de escrever e manter.
- Solução: Use bibliotecas integradas para economizar tempo e esforço.

15. Não usar ferramentas Linting:
- Problema: não usar ferramentas de linting pode resultar em código mais difícil de ler e entender.
- Solução: Use ferramentas de linting como `golangci-lint` para identificar erros em seu código.

Ao evitar esses erros comuns, você pode garantir que seu código Go seja eficiente, legível e de fácil manutenção.

Citações:
[1] https://www.bacancytechnology.com/blog/common-mistakes-in-go
[2] https://www.reddit.com/r/baduk/comments/9wocj0/common_mistakes_in_learning_go/
[3] https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them
[4] https://www.linkedin.com/posts/ubaydah_five-common-mistakes-to-avoid-when-learning-activity-7057402591013482496-TeIu?trk=public_profile_like_view
[5] https://www.tftus.com/blog/the-most-common-golang-development-mistakes