【发布时间】:2016-05-04 11:50:14
【问题描述】:
如何访问在不同 .go 包/文件中的 main.go 中声明/init 的变量?一直告诉我变量未定义(我知道全局变量不好,但这只是用作时间戳)
在 main.go 中
var StartTime = time.Now()
func main(){...}
尝试在不同的 .go 文件中访问 StartTime 但不断得到未定义的 StartTime
【问题讨论】:
-
变量名的首字母大写吗?
-
是的,大写,我的go build失败
-
嗯,也许将变量“注入”到另一个包中会更好,例如,你不能在你的主包的main方法中设置另一个包中的变量吗?如果你通过引用传递它,那么变量仍然是共享的......
-
@Nighthee: 是的,因为您没有将
main导入到另一个包中,所以它不存在(既因为您不能有循环依赖,也因为您可以'不要导入main包。)