我有一种方法来检查所需的环境变量是否存在,如果存在则设置它,否则填充错误消息。我正在这样做:
package main
import (
"errors"
"fmt"
"os"
"strings"
)
var (
AxGitDownloadUrl string
)
const ENV_ERR_MSG_START = "set the following environment variables ->"
const AX_GIT_DOWNLOAD_URL = "AX_GIT_DOWNLOAD_URL"
func main() {
if err := verifyMandatoryEnvVarsAndSet(); err != nil {
fmt.Printf(err.Error())
}
}
func verifyMandatoryEnvVarsAndSet() error {
errMsg := ENV_ERR_MSG_START
m := map[string]string{AX_GIT_DOWNLOAD_URL: AxGitDownloadUrl}
for k, v := range m {
errMsg = setConfig(k, v, errMsg)
}
if len(errMsg) > len(ENV_ERR_MSG_START) {
errMsg = strings.TrimSuffix(errMsg, ",")
return errors.New(errMsg)
}
return nil
}
func setConfig(envVarName, globalEnvVar, errMsg string) string {
fmt.Printf("envVarName -> %s,globalEnvVar->%s ", envVarName, globalEnvVar)
res, ok := os.LookupEnv(envVarName)
if ok {
globalEnvVar = res
} else {
errMsg = errMsg + envVarName + ","
}
return errMsg
}
我面临的问题是,在地图的值部分,它没有设置全局变量,而是在那里我看到了一片空白。
那么如何使用该方法设置全局变量值呢setConfig?
游乐场链接:https://go.dev/play/p/DC5oPmsjEIQ
慕田峪4524236
相关分类