gpt4 book ai didi

go - 组织环境变量 Golang

转载 作者:IT老高 更新时间:2023-10-28 13:06:40 27 4
gpt4 key购买 nike

在 Node.js 中,我使用 nconf 模块为我的每个项目存储环境变量,例如 S3 key 、GCM key 等。

我在 Go 中找不到类似的解决方案。

有哪些公认的工具可以帮助管理每个 Go 项目的环境变量?

提前致谢。

最佳答案

我强烈推荐使用 github.com/namsral/flag反而。就像 built in flag除了您可以通过环境变量提供参数。

例如,假设您有以下代码:

package main

import "fmt"
import "github.com/namsral/flag"

func main() {
var port = 3000
flag.IntVar(&port, "port", port, "Port number")
flag.Parse()
fmt.Println("You seem to prefer", port)
}

然后您可以使用命令行选项或环境变量来提供值:

:~/dev/GO$ go run dummy.go
You seem to prefer 3000
:~/dev/GO$ go run dummy.go -port=1234
You seem to prefer 1234
:~/dev/GO$ PORT=4321 go run dummy.go
You seem to prefer 4321
:~/dev/GO$ PORT=4321 go run dummy.go -port=5555
You seem to prefer 5555

当难以提供命令行参数时,这可能很重要。例如,如果您使用 gin要自动重新启动服务器,您无法提供命令行参数,因为 gin 只是在主代码上调用 go run 而没有传递任何参数。

关于go - 组织环境变量 Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com