📜  Golang – 环境变量

📅  最后修改于: 2021-10-24 12:59:47             🧑  作者: Mango

环境变量是操作系统上的动态对象对。这些值对可以在操作系统的帮助下进行操作。这些值对可用于存储文件路径、用户配置文件、身份验证密钥、执行模式等。

在 Golang 中,我们可以使用 os 包来读写环境变量。

1.使用 os.Setenv() 设置环境变量。此方法接受两个参数作为字符串。如果有的话,它会返回一个错误。

os.Setenv(key,value)  

2.使用 os.Getenv() 获取环境变量值。如果变量存在,则此方法返回变量的值,否则返回空值。

os.Getenv(key)

3.使用 os.Unsetenv() 方法删除或取消设置单个环境变量。如果有错误,此方法将返回错误。

os.Unsetenv(key)

4.使用 os.LookupEnv() 获取环境变量值和布尔值。布尔值表示键是否存在。如果密钥不存在,则返回 false。

os.LookupEnv(key)

5.使用 os.Environ() 列出所有环境变量及其值。此方法返回“ key=value”格式的字符串副本。

os.Environ()

6.使用 os.Clearenv() 删除所有环境变量。

os.Clearenv()

示例 1:

Go
// Golang program to show the usage of
// Setenv(), Getenv and Unsetenv method
  
package main
  
import (
    "fmt"
    "os"
)
  
// Main function
func main() {
  
    // set environment variable GEEKS
    os.Setenv("GEEKS", "geeks")
  
    // returns value of GEEKS
    fmt.Println("GEEKS:", os.Getenv("GEEKS"))
  
    // Unset environment variable GEEKS
    os.Unsetenv("GEEKS")
  
    // returns empty string and false,
    // because we removed the GEEKS variable
    value, ok := os.LookupEnv("GEEKS")
  
    fmt.Println("GEEKS:", value, " Is present:", ok)
  
}


Go
// Golang program to show the
// usage of os.Environ() Method
package main
  
import (
    "fmt"
    "os"
)
  
// Main function
func main() {
  
    // list all environment variables and their values
    for _, env := range os.Environ() {
        fmt.Println(env)
    }
}


Go
// Golang program to show the
// usage of os.Clearenv() Method
package main
  
import (
    "fmt"
    "os"
)
  
// Main function
func main() {
  
    // this delete's all environment variables
    // Don't try this in the home environment,
    // if you do so  you will end up deleting
    // all env variables
    os.Clearenv()
  
    fmt.Println("All environment variables cleared")
  
}


输出:

示例 2:

// Golang program to show the
// usage of os.Environ() Method
package main
  
import (
    "fmt"
    "os"
)
  
// Main function
func main() {
  
    // list all environment variables and their values
    for _, env := range os.Environ() {
        fmt.Println(env)
    }
}

输出:

示例 3:

// Golang program to show the
// usage of os.Clearenv() Method
package main
  
import (
    "fmt"
    "os"
)
  
// Main function
func main() {
  
    // this delete's all environment variables
    // Don't try this in the home environment,
    // if you do so  you will end up deleting
    // all env variables
    os.Clearenv()
  
    fmt.Println("All environment variables cleared")
  
}

输出:

All environment variables cleared