O Operador de Endereço
Parte da seção Fundamentos do Journey de GO da Coddy — lição 62 de 109.
O operador de endereço (&) obtém o endereço de memória de uma variável. É assim que criamos ponteiros em Go.
Crie uma variável e obtenha seu endereço de memória:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}A saída mostra o valor e seu endereço de memória:
Value: 42
Address: 0xc000018030O endereço (como 0xc000018030) é um número hexadecimal que representa o local da memória onde o valor está armazenado. Este endereço será diferente cada vez que você executar o programa.
Desafio
Iniciante&) em Go. O operador de endereço retorna o endereço de memória de uma variável, que é onde o valor da variável está armazenado na memória do computador.Sua tarefa é usar o operador de endereço para obter o endereço de memória da variável fornecida e armazená-lo na variável de ponteiro que já está declarada.
Folha de consulta
O operador de endereço (&) obtém o endereço de memória de uma variável e é usado para criar ponteiros em Go.
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)O endereço é exibido como um número hexadecimal (como 0xc000018030) representando o local da memória onde o valor está armazenado. Este endereço será diferente cada vez que você executar o programa.
Experimente você mesmo
package main
import "fmt"
func main() {
// Esta é a nossa variável de exemplo
name := "Gopher"
// Isso declara uma variável de ponteiro para armazenar o endereço de uma string
var namePointer *string
// TODO: Use o operador de endereço (&) para obter o endereço de memória de 'name'
// e armazene-o na variável 'namePointer'
// Imprime o valor para o qual o ponteiro aponta
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões