go语言学习—变量的作用域

作用域为已声明标识符的常量、变量、类型、函数或包,在源码中作用范围。
go语言变量可以在三个地方声明:
1.函数体内定义的变量称为局部变量
2.函全局变量怎么定义数体外定于的变量称为全局变量
3.函数定义中的变量为形式参数

5.1、局部变量
函数体内声明的变量称为局部变量,他们的作用域只在函数体内,参数和返回值变量也是局部变量。
实例中main()函数使用了局部变量a,全局变量的作用域b,c

package main
import "f局部变量是什么意思mt"
func main(全局变量) {
//声局部变量明局部变量
var a,b,c int
//初始化参数
a = 10
b = 20
c = a + b
fmt.Printf("alinux命令+b的结果是: a = %d, b= %d, and c = %d\n", a , b , c)
}

5.2、全局变量
在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)linux使用。
全局变量可以在任何函数中使用。
package main
implinux系统ort "fmlinux系统t"
var g int
func main() {
var a, b int
a = 10
b = 2局部变量的作用域是什么0
g = a + b
fmt.Prin局部变量和全局变量重名tf("结局部变量存在堆还是栈果是: a = %dlinux重启命令, b =局部变量存在堆还是栈 %d ,g = %d\n", a, b, g)
}

package main
import "fmt"
var g int = 20
func main() {
var g int = 10
fmt.Printf("结果是:g=%d\n&全局变量和局部变量的区别quot;,g)
}

5.3、形式参数
形式参数会作为函数的局部变量来使用

//改文件所在的包是main,文件必须归属一全局变量的作用域一定比局部变量的作用域范围大个包
package main
im全局变量的作用域一定比局部变量的作用域范围大port "fmt"
var a int = 20
func main() {
var a int = 10
var b int = 20
var c int = 0