手记

【金秋打卡】第15天 Go开发工程师全新版 3-5

课程名称: 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)
}

课程收获:
了解变量作用域

0人推荐
随时随地看视频
慕课网APP