Golang Go语言中新学,go 全局变量怎么在其他包中使用

发布于 1周前 作者 ionicwang 来自 Go语言

Golang Go语言中新学,go 全局变量怎么在其他包中使用

写在 struct 的方法里面,使用不到全局变量,该怎么使用那

10 回复

如果在同一个包,直接用,不在同一个包则需要引入包,再使用变量

更多关于Golang Go语言中新学,go 全局变量怎么在其他包中使用的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


大写字母开头

嗯嗯,我直接调的 main 包里的,现在是建了个新包用来只存全局变量。这样可行不

嗯嗯,我直接调的 main 包里的,现在是建了个新包用来只存全局变量。这样可行不

有这时间来这里问…自己动手试一试自己的疑问 问题早就解决了

我就是试过可以。但是不知道这样写项目规范不…

大写字母开头的包都可以被外部使用 只要 import 当前的模块名称加包名就行

在Go语言中,全局变量的使用跨包(package)是一个常见的需求,但需要注意访问权限和正确的引用方式。以下是如何在不同包中使用全局变量的步骤:

  1. 定义全局变量: 首先,在你的某个包(例如mypackage)中定义一个全局变量。全局变量通常是包级别的,即不以任何函数为作用域。例如:

    // 文件: mypackage/mypackage.go
    package mypackage
    
    var MyGlobalVar int = 42
    
  2. 导出全局变量: 要使其他包能够访问这个全局变量,你需要将其名称的首字母大写,使其成为导出的(exported)标识符。

    var MyGlobalVar int = 42
    
  3. 在其他包中引用: 在另一个包中,你需要先导入定义全局变量的包,然后才能访问该变量。

    // 文件: main.go
    package main
    
    import (
        "fmt"
        "yourmodule/mypackage" // 假设你的模块路径是yourmodule
    )
    
    func main() {
        fmt.Println(mypackage.MyGlobalVar) // 访问并使用全局变量
    }
    
  4. 编译和运行: 确保你的Go模块结构正确,并且使用go mod init初始化了模块。然后你可以通过go run main.go来编译和运行你的程序。

这样,你就可以在不同的包中访问和使用全局变量了。记得遵循Go的命名约定和模块管理规范,以确保代码的可维护性和可读性。

回到顶部