最近在学go发现了一个问题,按理说go的变量在一个作用于内不能重复声明,但是为什么这么写可以编译通过并正常运行呢?
package main
import "fmt"
func main() {
//一次性声明多个变量
var n1, n2 int
fmt.Println("n1=", n1, "n2=", n2)
//也可以
//为什么加上name不会报错??????
n1, name, n2 := 100, "string", 888
fmt.Println("n1=", n1, "name=", name, "n3=", n2)
}
把name去掉就会报错了,但是加上那么反而不会报错,为什么?