作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围
函数内定义的变量称为局部变量 它们的作用域只在函数体内,参数和返回值变量也是局部变量
函数外定义的变量称为全局变量 可以在整个包甚至外部包(被导出后)使用
函数定义中的变量称为形式参数 也可以理解为该函数内的局部变量
package main
import "fmt"
// 函数外部定义 全局变量
// 全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑
var d int = 20
func main() {
// 函数内部定义 局部变量 它们的作用域只在函数体内,参数和返回值变量也是局部变量
// 输出 局部变量 1 2 3
a, b, c := 1, 2, 3
fmt.Println("局部变量", a, b, c)
// 全局变量可以在整个包甚至外部包(被导出后)使用
// 输出 全局变量 20
fmt.Println("全局变量", d)
// a,b 为函数形参 也可以理解为该函数内的局部变量
// 输出 3
fmt.Println(addTwoInt(a, b))
}
func addTwoInt(a, b int) int {
return a + b
}