Golang中设置全局变量并在其他文件中使用
作者:小小平不平凡
全局变量是被整个程序都可见的变量,通常用于存储程序中需要共享的数据,本文就来介绍一下Golang中设置全局变量并在其他文件中使用的方法,感兴趣的可以了解一下
一、定义全局变量
在Go语言中,全局变量的定义方法很简单。你只需要在函数之外定义变量,该变量就会成为全局变量
test/library/utils/init.go
package utils // 定义全局变量ServicePool var ServicePool = make(map[string]interface{}) func DemoMethod() { fmt.Println(ServicePool) }
二、在其他文件中使用init.go中定义的ServicePool全局变量
- 在包含全局变量的文件中,确保全局变量在函数之外声明,以使其成为包级别的变量
- 在要使用该全局变量的文件中,导入包含全局变量的包
- 在使用全局变量的文件中,可以直接访问该全局变量
注意事项:在Go语言中,当你使用var关键字定义全局变量时,如果不使用make函数来初始化该变量,它将被赋予零值。对于数值类型,零值是0;对于字符串类型,零值是空字符串;对于指针类型,零值是nil
use.go
package test import ( "context" "encoding/json" "fmt" "io" "math/rand" "net/http" "strings" "time" "test/library/utils" ) func Test(ctx context.Context, w ghttp.Writer, req ghttp.Request) { fmt.Println("ctx:", ctx) fmt.Println("req:", req) fmt.Println("w:", w) name, ok := utils.ServicePool["name"] if !ok { name = "" } }
到此这篇关于Golang中设置全局变量并在其他文件中使用的方法的文章就介绍到这了,更多相关Golang设置全局变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!