Menu
Coddy logo textTech

Escolhendo Recebedores

Parte da seção Lógica & Fluxo do Journey de GO da Coddy — lição 9 de 68.

Agora que você entende tanto os receivers de valor quanto os de ponteiro, a pergunta fundamental é: quando você deve usar cada um? A decisão resume-se ao que seu método precisa fazer com o receiver.

Use um receptor de ponteiro quando seu método precisar modificar a struct original. Como os receptores de ponteiro trabalham com a instância real da struct, quaisquer alterações feitas dentro do método persistirão após o retorno do método. Isso é essencial para métodos que atualizam campos, alteram o estado ou realizam operações que devem afetar os dados originais.

Use um receptor de valor quando seu método precisar apenas ler dados da struct sem alterá-los. Receptores de valor trabalham com uma cópia, por isso são perfeitos para métodos que calculam valores, formatam a saída ou realizam qualquer operação que não exija a modificação da struct original. Eles também oferecem segurança ao garantir que os dados originais permaneçam inalterados.

Como regra geral: se o seu método altera a struct, use um pointer receiver. Se o seu método apenas lê da struct, use um value receiver. Essa abordagem torna claras as intenções do seu código e ajuda a prevenir modificações não intencionais nos seus dados.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo