当未找到环境变量时,如何失败/退出golang程序的执行?
我需要将一个环境变量当未找到环境变量时,如何失败/退出golang程序的执行?,go,Go,我需要将一个环境变量SubscriptionID读取到golang变量subId。当我的程序能够读取env变量SubscriptionID时,它运行良好。程序运行到完成时,即使找不到env var,也会产生意外的结果 如果找不到环境变量,如何使其失败(退出执行) package main import ( "fmt" "os" ) func main(){ subId := os.Getenv("SubscriptionID") fmt.Printf("Subscriptio
SubscriptionID
读取到golang变量subId
。当我的程序能够读取env变量SubscriptionID
时,它运行良好。程序运行到完成时,即使找不到env var,也会产生意外的结果
如果找不到环境变量,如何使其失败(退出执行)
package main
import (
"fmt"
"os"
)
func main(){
subId := os.Getenv("SubscriptionID")
fmt.Printf("SubscriptionID: %v\n", subId)
}
LookupEnv检索由
钥匙如果环境中存在变量,则该值
可能为空),且布尔值为真。否则
返回值将为空,布尔值将为false
比如说,
package main
import (
"fmt"
"os"
)
func main() {
subId, present := os.LookupEnv("SubscriptionID")
if !present {
fmt.Printf("SubscriptionID: not present\n")
return
}
fmt.Printf("SubscriptionID: %v\n", subId)
}
游乐场:
输出:
SubscriptionID: not present
LookupEnv检索由
钥匙如果环境中存在变量,则该值
可能为空),且布尔值为真。否则
返回值将为空,布尔值将为false
比如说,
package main
import (
"fmt"
"os"
)
func main() {
subId, present := os.LookupEnv("SubscriptionID")
if !present {
fmt.Printf("SubscriptionID: not present\n")
return
}
fmt.Printf("SubscriptionID: %v\n", subId)
}
游乐场:
输出:
SubscriptionID: not present
检查subId是否为“”,如果是,则退出?@BurakSerdar:如果测试存在但为空,则该测试为真。OP问:“如果找不到环境变量,如何使其失败(退出执行)?如果没有设置变量,程序会产生意外结果(使Getenv返回空字符串),如果SubscriptionID显式设置为空字符串,它不会也会产生意外结果吗?@Peter没有想到这一点。这将是一个很好的测试用例。检查subId是否为“”,如果是,则退出?@BurakSerdar:如果测试存在但为空,则该测试为真。OP问:“如果找不到环境变量,如何使其失败(退出执行)?如果没有设置变量,程序会产生意外结果(使Getenv返回空字符串),如果SubscriptionID显式设置为空字符串,它不会也会产生意外结果吗?@Peter没有想到这一点。这将是一个很好的测试用例。