go代码非main.go文件里如何调用main.go文件里定义的变量?
go 新手,改别人的用 beego 开发的一个项目,想加一个获取当前系统状态的接口,其中有个字段要获取程序的开始运行时间的时间戳,想了各种办法没解决,我现在是在 main.go 里定义了一个全局变量
......
var Starttime = time.Now().Unix()
......
然后我在 controllers 目录下的 go 文件里该如何获取这个值呢?
回复
1个回答

test
2024-07-17
可以不在 main
包中定义,参考数据库驱动的加载方式,
在比如 config
下定义,main
下初始化引入,其他地方要用的时候再调用
// config/test.go
package config
var Starttime = time.Now().Unix()
// other/test.go
package other
import (
"fmt"
"path_to/config"
)
func Test() {
fmt.Println("获取config", config.Starttime)
}
// main.go
package main
import (
"fmt"
_ "path_to/config"
"path_to/other"
)
func main() {
other.Test()
}
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容