Go 代码如何跨文件调用 main.go 中的变量?

go 代码如何跨文件调用 main.go 中的变量?

go 代码如何跨文件调用 main.go 中的变量?

在 go 开发中,有时需要在非 main.go 文件中访问 main.go 中定义的变量。例如,在 beego 框架中添加接口时,可能需要获取程序启动时间戳,该变量通常定义在 main.go 文件中。

要解决这个问题,可以借鉴数据库驱动加载机制。具体而言,可以将变量定义在其他包(如 config 包)中,并在 main.go 中进行初始化和引入。其他文件需要使用该变量时,再从相应的包中调用。

下面提供一个代码示例:

// 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()
}

在该示例中,starttime 变量定义在 config 包中,并在 main.go 中进行初始化和引入。其他文件(例如 other/test.go)需要使用该变量时,可以按如下方式调用:

fmt.Println("获取config", config.Starttime)

以上就是Go 代码如何跨文件调用 main.go 中的变量?的详细内容,更多请关注其它相关文章!