Sobes.tech
Junior

Como são passados os parâmetros para uma função em Go: por ponteiro ou por valor?

sobes.tech IA

Resposta da IA

Por valor. Isto significa que, ao chamar a função, é criada uma cópia do valor do argumento passado.

As exceções são:

  • Fatias (slices)
  • Mapas (maps)
  • Canais (channels)
  • Ponteiros

Nestes casos, é passada uma cópia do cabeçalho (header) da estrutura de dados (fatias, mapas, canais) ou o próprio ponteiro (para ponteiros). Alterações nos dados através deste cabeçalho ou ponteiro dentro da função serão visíveis de fora.