go语言学习(九、变量作用域)

作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围

函数内定义的变量称为局部变量 它们的作用域只在函数体内,参数和返回值变量也是局部变量
函数外定义的变量称为全局变量 可以在整个包甚至外部包(被导出后)使用
函数定义中的变量称为形式参数 也可以理解为该函数内的局部变量

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
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章