内容简介:Go中,常规声明方式为也有一种短的方式这种方式相当于
Go中,常规声明方式为
var i, j int
也有一种短的方式
i, j := 1, 2
这种方式相当于
var i, j int i, j = 1, 2
但是短的方式允许重复声明,条件是必须有一个以上重复
i, j := 1, 2 z, j := 3, 4 i, j := 5, 6 // 报错!
我们来看一段代码:
package main
import (
"fmt"
"os"
)
var cwd string
func init() {
cwd, err := os.Getwd()
if err != nil {
fmt.Printf("error = %s\n", err)
}
fmt.Printf("init: cwd = %s\n", cwd)
}
func main() {
fmt.Printf("main: cwd = %s\n", cwd)
}
运行结果:
jiajun@debian $ go run fun.go init: cwd = /home/jiajun/test main: cwd =
为什么cwd明明已经声明成了全局变量却没有被没改变呢?
https://golang.org/ref/spec#Short_variable_declarations
Unlike regular variable declarations, a short variable declaration may redeclare variables provided they were originally declared earlier in the same block (or the parameter lists if the block is the function body) with the same type, and at least one of the non-blank variables is new.
所以上面的代码想要能正常运行就得:
package main
import (
"fmt"
"os"
)
var cwd string
func init() {
var err error
cwd, err = os.Getwd()
if err != nil {
fmt.Printf("error = %s\n", err)
}
fmt.Printf("init: cwd = %s\n", cwd)
}
func main() {
fmt.Printf("main: cwd = %s\n", cwd)
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
xHTML+CSS+Dreamweaver CS3标准网站构建实例详解
李晓斌 / 第1版 (2007年9月1日) / 2007-9 / 49.9
《xHTML+CSS+Dreamweaver CS3标准网站构建实例详解》特别适合网站美工、网站前端架构师、网页设计爱好者、Wap页面设计师作为学习Web标准网页制作的入门图书,也适合Web标准网站高手作为案头随手查询手册,也适合作为美术院校和培训学校相关专业的培训教材。一起来看看 《xHTML+CSS+Dreamweaver CS3标准网站构建实例详解》 这本书的介绍吧!