go代码非main.go文件里如何调用main.go文件里定义的变量?

go 新手,改别人的用 beego 开发的一个项目,想加一个获取当前系统状态的接口,其中有个字段要获取程序的开始运行时间的时间戳,想了各种办法没解决,我现在是在 main.go 里定义了一个全局变量

......
var Starttime = time.Now().Unix()
......

然后我在 controllers 目录下的 go 文件里该如何获取这个值呢?

阅读 2.1k
1 个回答

可以不在 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()
}


撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题