Go学习笔记-程序实体(中)

变量重复声明和变量重名不是一个事情,上篇讲的是前者,这一篇讲后者。变量重名按照作用域进行屏蔽,查找过程从小作用域查到大作用域。

作用域最大的用处,就是对程序实体的访问权限的控制。

package main

import "fmt"

var block = "package"

func main() {
	fmt.Printf("The block is %s.\n", block)//The block is package.

	block := "function"
	{
		block := "inner"
		fmt.Printf("The block is %s.\n", block)//The block is inner.
	}
	fmt.Printf("The block is %s.\n", block)//The block is function.
}


)

猜你喜欢

转载自blog.csdn.net/Linzhongyilisha/article/details/83016708