Golang Go语言中新学,go 全局变量怎么在其他包中使用
Golang Go语言中新学,go 全局变量怎么在其他包中使用
写在 struct 的方法里面,使用不到全局变量,该怎么使用那
10 回复
大写字母开头
嗯嗯,我直接调的 main 包里的,现在是建了个新包用来只存全局变量。这样可行不
嗯嗯,我直接调的 main 包里的,现在是建了个新包用来只存全局变量。这样可行不
有这时间来这里问…自己动手试一试自己的疑问 问题早就解决了
没问题的
我就是试过可以。但是不知道这样写项目规范不…
大写字母开头的包都可以被外部使用 只要 import 当前的模块名称加包名就行
math.Pi
在Go语言中,全局变量的使用跨包(package)是一个常见的需求,但需要注意访问权限和正确的引用方式。以下是如何在不同包中使用全局变量的步骤:
-
定义全局变量: 首先,在你的某个包(例如
mypackage
)中定义一个全局变量。全局变量通常是包级别的,即不以任何函数为作用域。例如:// 文件: mypackage/mypackage.go package mypackage var MyGlobalVar int = 42
-
导出全局变量: 要使其他包能够访问这个全局变量,你需要将其名称的首字母大写,使其成为导出的(exported)标识符。
var MyGlobalVar int = 42
-
在其他包中引用: 在另一个包中,你需要先导入定义全局变量的包,然后才能访问该变量。
// 文件: main.go package main import ( "fmt" "yourmodule/mypackage" // 假设你的模块路径是yourmodule ) func main() { fmt.Println(mypackage.MyGlobalVar) // 访问并使用全局变量 }
-
编译和运行: 确保你的Go模块结构正确,并且使用
go mod init
初始化了模块。然后你可以通过go run main.go
来编译和运行你的程序。
这样,你就可以在不同的包中访问和使用全局变量了。记得遵循Go的命名约定和模块管理规范,以确保代码的可维护性和可读性。