【发布时间】:2014-03-06 14:49:42
【问题描述】:
在此处的 Go Web 服务器示例中:http://golang.org/doc/effective_go.html#web_server
以下代码行
var addr = flag.String("addr", ":1718", "http service address")
但改成
addr := flag.String("addr", ":1718", "http service address")
是编译错误。为什么?函数的返回类型是*string而不是string,这跟脸有关系吗?这有什么区别?
更新:感谢您指出:= 不允许出现在顶层。知道为什么规范中有这种不一致吗?我看不出有任何理由让块内的行为有所不同。
【问题讨论】:
标签: go variable-assignment colon-equals