登录
首页 >  Golang >  Go问答

在Go中如何在应用程序启动时创建一个全局变量?

来源:stackoverflow

时间:2024-02-22 09:06:27 495浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《在Go中如何在应用程序启动时创建一个全局变量?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

祝所有读者美好的一天!

我有 api 服务,需要密钥来解决一些解密问题。当我提出请求时,密钥会计算所有时间。从架构的角度来看,这是错误的。

环境选项(.env、viper...)被删除,因为将来我想将此模块引入到单独的库中。

提示我,如何在启动应用程序时不使用环境来计算密钥并使用它直到停止应用程序?


正确答案


全局变量以大写字母开头,因此可以从其他包中访问它。

但是......这实际上是不好的行为,因为其他包可以改变它。

使用非大写字母,仍然意味着同一包中的函数可以更改它。

也许你可以使用常量?
或者创建一个单例变量,请参阅:

https://goplay.tools/snippet/9k7FLYbbvoo

如果您确定需要全局变量,可以这样做:

package main

var globalVar string = "My string"

func init(){
    globalVar = "The new value of the variable"
}

func main(){
    println(globalVar)
}

本篇关于《在Go中如何在应用程序启动时创建一个全局变量?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>