如何在非 main.go 文件中访问 main.go 文件定义的变量?
在非 main.go 文件中获取 main.go 中定义的变量
想要在非 main.go 文件中获取 main.go 中定义的变量,可以使用包初始化和导入的技巧。
包初始化:
首先,在要共享变量的包中创建一个包初始化函数。该函数将在导入该包时自动执行。以下是 main.go 文件中包初始化函数的示例:
package main var starttime = time.now().unix()
引入变量:
在需要使用变量的非 main.go 文件中,导入包含包初始化函数的包。例如,在 controllers 目录下的 go 文件中:
package controllers import ( "fmt" "path_to/main" ) func getstarttime() { fmt.println(main.starttime) }
这样,controllers 包中的函数就能访问和使用 starttime 变量了。
示例代码:
下面是一个完整的示例,展示如何在 controllers 文件中获取 main.go 中定义的 starttime 变量:
main.go:
package main import "time" var starttime = time.now().unix()
controllers/starttime.go:
package controllers import ( "fmt" "path_to/main" ) func getstarttime() { fmt.println(main.starttime) }