go中的变量重声明

  变量重声明含义是对已经声明过的变量再次声明。变量重声明的前提条件如下:

1.由于变量的类型在其初始化时就已经确定了,所以对它再次声明时赋予的类型必须与其原本的类型一致,佛足额会产生编译错误。

2.变量的重声明只可能发生在某一个代码块中。如果与当前的变量重名的是外层代码块的变量,那就是另一种含义了。

3.变量的重声明只有在使用短变量声明时才会发生,否则也无法通过编译。如果要在此处声明全新的变量,那么就应该使用包含关键字var的声明语句,但是这时就不能与同一代码块中的任何变量有重名了。

4.被“声明并赋值”的变量必须是多个,并且其中至少有一个是新的变量。这时我们才说对其中的旧变量进行重声明。

测试:

func main(){
	var err error
	n, err := io.WriteString(os.Stdout, "Hello, everyone!\n")
	fmt.Printf(string(n))
	fmt.Println(err)
}

这里的n是新的变量,而err则是重新声明的变量

猜你喜欢

转载自blog.csdn.net/qq_20867981/article/details/86231148