Ponteiro

Um tipo de ponteiro denota o conjunto de todos os ponteiros para variáveis de um determinado tipo, chamado de tipo base do ponteiro. O valor de um ponteiro não inicializado é nil.

Para um operando x do tipo T, a operação de endereço &x gera um ponteiro do tipo *T para x. O operando deve ser endereçável, ou seja, uma variável, indireção de ponteiro ou operação de indexação de slice; ou um seletor de campo de um operando de estrutura endereçável.

Para um operando x do tipo de ponteiro *T, a indireção do ponteiro *x denota a variável do tipo T apontada por x. Se x for nulo, uma tentativa de avaliar *x causará um pânico em tempo de execução.


var nome *string = "Carlos"
fmt.Println(nome) // Endereço
                        
pointer_type.go