【go从零单排】Environment Variables环境变量

🌈Don't worry , just coding!
内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。

📗概念

在 Go 语言中,环境变量是用于配置程序行为的一种常见方式。它们可以用于存储配置信息,如数据库连接字符串、API 密钥等。Go 提供了标准库 os 来访问和管理环境变量。

环境变量:

是操作系统级别的变量,通常用于存储配置信息。它们可以通过命令行、脚本或操作系统设置。

获取和设置:

Go 程序可以通过 os.Getenv 获取环境变量,通过 os.Setenv 设置环境变量。

💻代码

go 复制代码
package main

import (
	//os:用于与操作系统交互,特别是处理环境变量。
	//strings:用于字符串操作。
	"fmt"
	"os"
	"strings"
)

func main() {
	//使用 os.Setenv 设置名为 FOO 的环境变量,其值为 "1"。
	os.Setenv("FOO", "1")
	//使用 os.Getenv 获取环境变量 FOO 的值,并打印出来。
	fmt.Println("FOO:", os.Getenv("FOO"))
	//尝试获取环境变量 BAR 的值。如果 BAR 没有被设置,返回的将是空字符串。
	fmt.Println("BAR:", os.Getenv("BAR"))

	fmt.Println()
	//os.Environ() 返回一个字符串切片,其中每个元素都是形如 KEY=VALUE 的环境变量。
	for _, e := range os.Environ() {
		//使用 strings.SplitN(e, "=", 2) 将每个环境变量字符串分割成键值对,最多分割为两个部分(键和值)。
		pair := strings.SplitN(e, "=", 2)
		//只打印每个环境变量的键(名称)。
		fmt.Println(pair[0])
	}
}

//输出
//FOO: 1
//BAR:
//
//GOLAND_VM_OPTIONS
//GOPATH
//DATAGRIP_VM_OPTIONS
//...其他环境变量

🔍理解

设置环境变量:

  • os.Setenv 用于设置新的环境变量或更新现有的环境变量。

获取环境变量:

  • os.Getenv 用于获取环境变量的值,如果变量不存在,则返回空字符串。

列出所有环境变量:

  • os.Environ() 返回所有环境变量的键值对,使用 strings.SplitN 将其分割为键和值。

注意事项:

  • 在运行程序时设置的环境变量仅在该进程及其子进程中可用,不会影响父进程的环境变量。
  • 没有被设置的环境变量输出是空的。

💪无人扶我青云志,我自踏雪至山巅。

相关推荐
何以解忧,唯有..2 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
踏着七彩祥云的小丑2 天前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go
JCGKS2 天前
Go `init` 函数:包初始化顺序到底是怎样的
golang·init·init执行顺序
何以解忧,唯有..2 天前
Go语言中的const:常量声明与iota枚举详解
java·开发语言·golang
geovindu2 天前
go: Reactor Pattern
开发语言·后端·设计模式·golang·反应器模式
記億揺晃着的那天3 天前
Java 调用外部 Go 程序的实践:ProcessBuilder 在生产环境中的应用
java·golang·processbuilder
jingling5553 天前
go | 环境安装和快速入门
开发语言·后端·golang
java_cj3 天前
从kubectl学Visitor模式:如何优雅处理多态数据结构的遍历
云原生·golang·k8s·访问者模式
何以解忧,唯有..3 天前
Go语言类型转换详解:从基础到进阶实践
开发语言·后端·golang
何以解忧,唯有..3 天前
Go 语言指针类型详解:从基础到实战
开发语言·后端·golang