Poderia por favor me explicar a diferença entre os operadores * e &, pois isso não foi passado e me perdi no sentido quando fui criar um server para o html.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Poderia por favor me explicar a diferença entre os operadores * e &, pois isso não foi passado e me perdi no sentido quando fui criar um server para o html.
Oi Carlos
Golang é uma linguagem que tem ponteiros. Um ponteiro contém o endereço de memória de um valor na memória.
Quando usamos * é um ponteiro para um valor.
var p *intO operador & gera um ponteiro para seu operando.
i := 42
p = &iO operador * denota o valor subjacente do ponteiro.
fmt.Println(*p) // ler i através do ponteiro p
*p = 21 // definir i por meio do ponteiro pIsso é conhecido como "desreferenciamento" ou "indireção".
package main
import "fmt"
func main() {
i, j := 42, 2701
p := &i // endereço de memória para i (ponteiro de i)
fmt.Println(*p) // lê o valor de i através do ponteiro
*p = 21 // altera o valor de i através do ponteiro
fmt.Println(i) // lê o novo valor de i
p = &j // ponteiro de J
*p = *p / 37 // divide o valor de J usando o ponteiro
fmt.Println(j) // verifica o novo valor de J
}