go语言基础之不同作用域同名变量

1、不同作用域同名变量

示例:

package main

import "fmt"

var a byte //全局变量

func main() {
	var a int //局部变量

	//1、不同作用域,允许定义同名变量
	//2、使用变量的原则,就近原则
	fmt.Printf("1: %T
", a) //int

	{
		var a float32
		fmt.Printf("2: %T
", a)
	}

	test()
}

func test() {
	fmt.Printf("3: %T
", a)  //uint8 就是byte类型
}

执行结果:

1: int
2: float32
3: uint8

  

原文地址:https://www.cnblogs.com/nulige/p/10233705.html