Go · Essencial · Português · Técnico
ponteiro
Variável que guarda o endereço de memória de outro valor. Em Go se obtém com & e se acessa o valor apontado com *.
Onde usar
Aparece ao alterar uma struct dentro de uma função ou ao evitar cópias grandes. Em Go não há aritmética de ponteiros, o que torna o uso mais seguro.
Em código
x := 42
p := &x
*p = 43
fmt.Println(x, *p)Exemplos
Passa um ponteiro para a struct, senão a função só altera a cópia.
Esse ponteiro pode ser nil, então confira antes de usar.
Cuidado
Não use ponteiro por reflexo achando que sempre é mais rápido: para valores pequenos a cópia é barata, e o ponteiro pode forçar alocação no heap.
Sinônimos
pointer