获取环境变量
在Go语言中,可以使用`os`包中的`Getenv`函数来获取环境变量的值。该函数接受一个字符串参数,表示要获取的环境变量的名称,返回一个字符串,表示该环境变量的值。下面是一个示例:```go package main import ( "fmt" "os" ) func main() { username := os.Getenv("USERNAME") fmt.Println("Username:", username) } ```
在上面的示例中,我们使用`os.Getenv`函数获取了`USERNAME`环境变量的值,并打印出来。在运行程序之前,我们需要先设置`USERNAME`环境变量的值,否则程序将输出一个空字符串。默认值
有时候,某些环境变量可能没有被设置,此时可以为环境变量提供一个默认值。我们可以使用空合并操作符(`??`)来实现这个功能。下面是一个示例:```go package main import ( "fmt" "os" ) func main() { username := os.Getenv("USERNAME") ?? "default" fmt.Println("Username:", username) } ```
在上面的示例中,如果`USERNAME`环境变量没有被设置,则使用`"default"`作为默认值。通过这种方式,我们可以确保在环境变量未设置时,程序仍然可以正常运行。类型转换
在实际应用中,环境变量往往是一个字符串类型。但有时候,我们需要将环境变量转换为其他类型,比如整数或布尔值。在Go语言中,可以使用标准库中的相关函数来实现类型转换。下面是一些常见的类型转换示例:- 将字符串转换为整数: ```go package main import ( "fmt" "os" "strconv" ) func main() { portStr := os.Getenv("PORT") port, err := strconv.Atoi(portStr) if err != nil { panic(err) } fmt.Println("Port:", port) } ``` - 将字符串转换为布尔值: ```go package main import ( "fmt" "os" "strconv" ) func main() { debugStr := os.Getenv("DEBUG") debug, err := strconv.ParseBool(debugStr) if err != nil { panic(err) } fmt.Println("Debug:", debug) } ```
在上面的示例中,我们分别将`PORT`和`DEBUG`环境变量转换为整数和布尔值,并打印出来。注意,`strconv.Atoi`和`strconv.ParseBool`函数在转换失败时会返回一个错误,我们可以根据需要处理这个错误。