Ir linguagem escopo de variáveis
Reivindicado identificador de âmbito constante representado pelo tipo, variável, função ou extensão pacote no código-fonte.
variáveis de linguagem Go pode ser declarada em três locais:
- As variáveis definidas dentro de uma função chamada variáveis locais
- Variável fora da definição da função é chamada uma variável global
- variáveis definição função chamada parâmetros formais
Vamos entender as variáveis locais específicos, variáveis globais e parâmetros formais.
As variáveis locais
Chamadas de variáveis locais na declaração de variável do corpo da função, eles só funcionam no âmbito vivo, parâmetros e retornam valores de variáveis são variáveis locais.
A seguinte função exemplo main () usa variáveis locais a, b, c:
package main import "fmt" func main() { /* 声明局部变量 */ var a, b, c int /* 初始化参数 */ a = 10 b = 20 c = a + b fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c) }
Exemplos da implementação da saída acima é:
结果: a = 10, b = 20 and c = 30
Variáveis globais
Chamado variáveis globais na declaração da variável da função in vitro, as variáveis globais pode (após serem exportados), utilizando todo o pacote até mesmo pacote externo.
As variáveis globais podem ser utilizados em qualquer função, o seguinte exemplo demonstra como usar variáveis globais:
package main import "fmt" /* 声明全局变量 */ var g int func main() { /* 声明局部变量 */ var a, b int /* 初始化参数 */ a = 10 b = 20 g = a + b fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g) }
Exemplos da implementação da saída acima é:
结果: a = 10, b = 20 and g = 30
Vá programa de linguagem em variáveis globais e variáveis locais pode ser o mesmo nome, mas as variáveis locais dentro da função será dada prioridade. Exemplos são os seguintes:
package main import "fmt" /* 声明全局变量 */ var g int = 20 func main() { /* 声明局部变量 */ var g int = 10 fmt.Printf ("结果: g = %d\n", g) }
Exemplos da implementação da saída acima é:
结果: g = 10
parâmetros formais
Forma parâmetro como uma função de variáveis locais utilizadas. Exemplos são os seguintes:
package main import "fmt" /* 声明全局变量 */ var a int = 20; func main() { /* main 函数中声明局部变量 */ var a int = 10 var b int = 20 var c int = 0 fmt.Printf("main()函数中 a = %d\n", a); c = sum( a, b); fmt.Printf("main()函数中 c = %d\n", c); } /* 函数定义-两数相加 */ func sum(a, b int) int { fmt.Printf("sum() 函数中 a = %d\n", a); fmt.Printf("sum() 函数中 b = %d\n", b); return a + b; }
Exemplos da implementação da saída acima é:
main()函数中 a = 10 sum() 函数中 a = 10 sum() 函数中 b = 20 main()函数中 c = 30
Inicializar variáveis locais e globais
As variáveis locais e globais de diferentes tipos de padrões:
Tipos de dados | inicialização padrão |
---|---|
int | 0 |
float32 | 0 |
apontador | zero |