ExpertiDict

Go · Essencial · Português · Técnico

ponteiro

/põ.ˈtej.ɾu/substantivo

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

Veja também

Todos os termos de Go