English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
linguagem de programação Goo ponteiro é uma variável que armazena o endereço de memória de outra variável. Você também pode, comovariávelda mesma forma, passar o ponteiro para a função. Existem duas maneiras de executar a seguinte operação:
criar um ponteiro e passá-lo para a função
passar o endereço de memória da variável
No seguinte programa, usamos a funçãoptfa função tem um parâmetro de ponteiro do tipo inteiro, o que significa que a função aceita apenas parâmetros do tipo ponteiro. Além disso, essa função altera a variávelxno início.xcontém o valor100. Mas após a chamada da função, o valor muda para748como mostrado na saída.
// O programa Go cria um ponteiro //e passá-lo para a função package main import "fmt" //aceitar ponteiro como parâmetro func ptf(a *int) { //desreferenciar *a = 748 } func main() { //variável normal var x = 100 fmt.Printf("O valor de x antes da chamada da função é: %d\n", x) //obter um variável ponteiro //e alocar o endereço var pa *int = &x //chamar a função da seguinte forma //passar o ponteiro para a função ptf(pa) fmt.Printf("O valor de x após a chamada da função é: %d\n", x) }
Saída:
O valor de x antes da chamada da função é: 100 O valor de x após a chamada da função é: 748
Considere o seguinte programa, não criamos ponteiros para armazenar variáveisxo endereço, ou seja, o endereço no programa acimapadiretamente paraxpassar o endereço para a chamada da função, a chamada da função é semelhante ao método acima.
package main import "fmt" // ponteiro do tipo int como parâmetro func ptf(a *int) { *a = 748 } func main() { var x = 100 fmt.Printf("O valor de x antes da chamada da função é: %d\n", x) //através da chamada de função //Passar o endereço //Variável x ptf(&x) fmt.Printf("O valor de x após a chamada da função é: %d\n", x) }
Saída:
O valor de x antes da chamada da função é: 100 O valor de x após a chamada da função é: 748
Atenção:Você também pode usar o operador de declaração curta (:=) para declarar variáveis e ponteiros no programa acima.