课程名称: Go开发工程师全新版
课程章节: 3-5 变量的作用域
课程讲师: bobby
课程内容:
全局变量:在函数外定义的变量,能在该文件中的任何地方使用
package main import "fmt" //全局变量,文件中任何地方都可以使用 var name = "bobby" func a() { // 使用全局遍历 name fmt.Println(name) } func main() { // 使用全局遍历 name fmt.Println(name) }
局部变量:函数中定义的变量,只能在当前定义变量的函数中使用
package main import "fmt" func a() { // 不能使用 main 函数中定义的局部变量 fmt.Println(mainName) } func main() { //局部变量 var mainName = "main" // 可以使用,局部变量 fmt.Println(mainName) }
{}:限制变量作用域为 {} 中
package main import "fmt" func main() { // {}代码快,可以将代码写在里面,但也会限制变量的作用域 { localName := "local" // 可以使用 fmt.Println(localName) } // 不能使用,因为 localName 是在 {} 中定义, // {} 限制变量作用域在 {} 中 fmt.Println(localName) }
如果想要取 {} 中变量的值,需要在 {} 外声明变量,在 {} 中赋值,如:
package main import "fmt" func main() { var localName string // {}代码快,可以将代码写在里面,但也会限制变量的作用域 { // = 赋值,不要使用 := 这是声明变量 localName = "local“ } // {} 外面就能得到 {} 里面中变量的值 // 因为 localName 变量是在 {} 外定义的,localName 变量的作用域是在 main 函数中 // 所以可以在 {} 外,使用 localName fmt.Println(localName) }
课程收获:
了解变量作用域