概述
golang中的gotenv包可以用来在golang 中加载 .env 或环境文件。 github.com/joho/godote…
下面是该函数的语句
func Load(filenames ...string) (err error)
它需要一个数量不等的参数,每个参数可以是它需要加载的 .env 文件名。
程序
创建一个文件local.env,内容如下
STACK=DEV
DATABASE=SQL
以下是该程序
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load("local.env")
if err != nil {
log.Fatalf("Some error occured. Err: %s", err)
}
val := os.Getenv("STACK")
fmt.Println(val)
val = os.Getenv("DATABASE")
fmt.Println(val)
}
输出
DEV
SQL
它加载了local.env文件并给出了正确的输出。
它也可以用来加载多个.env文件。创建一个新的文件test.env,内容如下
TEST=UNIT
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load("local.env", "test.env")
if err != nil {
log.Fatalf("Some error occured. Err: %s", err)
}
val := os.Getenv("STACK")
fmt.Println(val)
val = os.Getenv("DATABASE")
fmt.Println(val)
val = os.Getenv("TEST")
fmt.Println(val)
}
输出
DEV
SQL
UNIT
如果你没有给Load函数提供任何参数,那么默认情况下它会加载当前目录下名为.env的文件。
在当前目录下创建一个名为.env 的文件,内容如下
STACK=DEV
DATABASE=SQL
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load()
if err != nil {
log.Fatalf("Some error occured. Err: %s", err)
}
val := os.Getenv("STACK")
fmt.Println(val)
val = os.Getenv("DATABASE")
fmt.Println(val)
}
注意在上面的程序中,我们没有给Load函数传递任何参数
输出
DEV
SQL
这就是关于在Golang中加载 .env文件的问题。