8.3 变量再次声明

Go 中的标识符通常不能在同一块内再次声明。但是,当使用简写变量声明语法时,可以重新声明变量,只要满足以下条件之一:

  • 该变量在同一块内先前声明为相同类型

  • 简写变量声明语句包括至少一个新的非空标识符

例如:

func doSomething() {
    var c0 int = 10
    println(c0)
    c0, c1 := 20, 40
    println(c0, c1)
}

在这个例子中,变量 c0 被声明了两次,首先是通过带有初始值 10 的常规 var 声明,其次是通过带有新初始值 20 的简写变量声明。因为 c1 在这个语句中首次声明,所以允许再次声明 c0。

最后更新于