1. 程式人生 > >go語音基礎之不同作用域同名變數

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