Sobes.tech
Junior — Middle

Qual é a função do operador `*` na linguagem Go, especialmente em relação aos ponteiros?

sobes.tech IA

Resposta da IA

Na linguagem Go, o operador * é usado para trabalhar com ponteiros e desempenha duas funções principais:

  1. Desreferenciar um ponteiro — obter o valor para o qual o ponteiro aponta.

  2. Declarar um ponteiro — ao declarar uma variável com *, indica-se que ela é um ponteiro para um tipo.

Exemplo:

var a int = 10
var p *int = &a  // p é um ponteiro para a
fmt.Println(*p)   // imprime 10 — o valor ao qual p aponta

*p = 20           // altera o valor de a através do ponteiro
fmt.Println(a)    // imprime 20

Dessa forma, * permite trabalhar com endereços e valores na memória, fornecendo controle de baixo nível sobre os dados.