如何在非 main.go 文件中访问 main.go 文件定义的变量?

如何在非 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)
}

以上就是如何在非 main.go 文件中访问 main.go 文件定义的变量?的详细内容,更多请关注其它相关文章!