http://bbs.studygolang.com/thread-29-1-1.html
看这段代码的输出是: 可以在这里直接运行查看结果:http://play.golang.org/p/BUWTcEwsBL如果你的结果和运行结果不一样,这个小知识可以帮助你哦。 1、在函数内的快捷赋值(:=),我们都会认为是创建新变量;然而,当是给多个变量同时赋值时,只需要一个变量未定义即可。比如: 这样是允许的 然而,这样却是不允许的: 2、开篇的例子为什么输出是那样的呢?原来,name是全局变量,在main中,使用快捷赋值时,它同时创建了name和err,这时候的name是main中的局部变量,而非全局变量的name。 |