作用域爲已聲明標識符所表示的常量、類型、變量、函數或包在源代碼中的作用範圍
函數內定義的變量稱爲局部變量 它們的作用域只在函數體內,參數和返回值變量也是局部變量
函數外定義的變量稱爲全局變量 可以在整個包甚至外部包(被導出後)使用
函數定義中的變量稱爲形式參數 也可以理解爲該函數內的局部變量
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
}