golang中有多种使用环境变量和文件的方法
![c4fc167d43ddf7d19e9c6e43f7557488.png](https://img-blog.csdnimg.cn/img_convert/c4fc167d43ddf7d19e9c6e43f7557488.png)
Photo by Moja Msanii on Unsplash
在创建生产级应用程序时,实际上是在应用程序中使用环境变量。
为什么要使用环境变量?
假设您的应用程序具有许多功能,并且每个功能都需要访问数据库。 您已在每个功能中配置了所有数据库信息,例如DBURL,DBNAME,USERNAME和PASSWORD。
这种方法有几个主要的缺点,可能有很多。
安全问题:
· 您正在输入代码中的所有信息。 现在,所有未经授权的人也可以访问数据库。
· 如果您使用的是git之类的代码版本控制工具,则在您推送代码后,数据库的详细信息就会公开。
代码管理:
· 如果要更改单个变量,则必须更改所有功能。 您很可能会错过一两个。
· 您可以对环境变量进行分类,例如PROD,DEV或TEST。 只需在变量前面加上环境即可。
刚开始时,它看起来可能需要做一些额外的工作,但这将在您的项目中收获很多。
只是不要忘记在.gitignore中包含您的环境文件
现在该采取行动了。
我们将在本教程中做什么?
在本教程中,我们将以3种不同的方式访问环境变量。
您可以根据需要使用。
- os 包
- godotenv 包
- viper 包
建立专案
在$ GOPATH外部创建一个项目。
初始化模块
在项目根目录中打开终端,然后运行以下命令。
go mod init go-env-ways
该模块将记录项目中使用的所有软件包及其版本。 它类似于nodejs中的package.json。
让我们从最简单的一个开始,使用os包。
os 软件包
Golang提供os软