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

1、不同作用域同名变量

示例:

package main

import "fmt"

var a byte //全局变量

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

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

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

	test()
}

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

执行结果:

1: int
2: float32
3: uint8

  

 

posted @ 2019-01-07 15:51  努力哥  阅读(741)  评论(0编辑  收藏  举报