golang常用库之-从.env文件读取配置数据
godotenv库从.env
文件中读取配置, 然后存储到程序的环境变量中。在代码中可以使用读取非常方便。
godotenv库
官方:https://pkg.go.dev/github.com/joho/godotenv
https://github.com/joho/godotenv
A Go port of Ruby’s dotenv library (Loads environment variables from .env files)
Ruby的dotenv库的Go版本(从.env文件加载环境变量)
使用
默认情况下,godotenv读取项目根目录下的.env文件,文件中使用key = value的格式,每行一个键值对。调用godotenv.Load()即可加载,可直接调用os.Getenv(“key”)读取。os.Getenv是用来读取环境变量的。
package main
import (
"fmt"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/joho/godotenv"
"log"
"os"
)
func main() {
// 加载.env文件
if err := godotenv.Load(); err != nil {
log.Fatal("Error loading .env file")
}
// 从环境变量中读取值
privateKey := os.Getenv("PRIVATE_KEY")
contractAddress := os.Getenv("CONTRACT_ADDRESS")
toAddress := os.Getenv("TO_ADDRESS")
// 打印读取到的值,实际使用中根据需要处理这些值
fmt.Println("Private Key:", privateKey)
fmt.Println("Contract Address:", contractAddress)
fmt.Println("To Address:", toAddress)
}
自动加载,需要使用空导入,即导入时包名前添加一个_
_ "github.com/joho/godotenv/autoload"
导入github.com/joho/godotenv/autoload
,配置会自动读取。