如何在不同的 .go 包/文件中访问在我的 main.go 中声明/初始化的变量?一直告诉我变量未定义(我知道全局变量不好,但这只是用作时间戳)
在 main.go 中
var StartTime = time.Now()
func main(){...}
尝试在不同的 .go 文件中访问 StartTime 但一直未定义 StartTime
原文由 Nighthee 发布,翻译遵循 CC BY-SA 4.0 许可协议
我创建了一个文件 dif.go
包含您的代码:
package dif
import (
"time"
)
var StartTime = time.Now()
在我创建的文件夹外 main.go
,没关系!
package main
import (
dif "./dif"
"fmt"
)
func main() {
fmt.Println(dif.StartTime)
}
输出:
2016-01-27 21:56:47.729019925 +0800 CST
文件目录结构:
folder
main.go
dif
dif.go
有用!
原文由 joy miao 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答2k 阅读✓ 已解决
1 回答3.4k 阅读
2 回答2.2k 阅读
我会改为“注入” starttime 变量,否则包之间存在循环依赖关系。
主程序
其他包.go