阅读上面这段代码,我们先使用通用的 Go 语言变量声明方式声明变量 name​,然后再使用 Go 语言语法糖 - 短变量声明方式,分别在同一作用域和不同作用域声明变量 name。根据三次声明变量 name​ 的打印结果可以看出,使用短变量声明方式在同一作用域声明变量 name​,仅是对变量 name 重新赋值,而不是声明一个新变量。所以,我们得出一个结论:在同一作用域使用短变量声明方式进行变量声明时,针对重名变量,不会重新生成一个新变量,而是对重名变量进行重新赋值。但是,它真的百利无一害吗?