【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 将其分割为键和值。

注意事项:

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

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

相关推荐
老狼伙计13 小时前
Golang深度学习
开发语言·golang
云熙涵14 小时前
C#语言的物联网
开发语言·后端·golang
Golinie17 小时前
【Go | 从0实现简单分布式缓存】-2:HTTP服务端与一致性哈希
分布式·缓存·golang
解决方案工程师18 小时前
【golang】channel带缓存和不带缓存的区别,应用场景解读
golang
特立独行的猫a18 小时前
Casbin 权限管理介绍及在 Go 语言中的使用入门
java·网络·golang·权限管理·casbin
程序员林北北19 小时前
【Golang学习之旅】分布式任务队列(使用 RabbitMQ / Kafka)
java·分布式·学习·云原生·golang·kafka·rabbitmq
CoLiuRs19 小时前
微服务监控与Go服务性能分析
网络·微服务·性能优化·golang
nbsaas-boot1 天前
Go 自动升级依赖版本
开发语言·后端·golang
魔法小匠1 天前
【Go并发编程】Goroutine 调度器揭秘:从 GMP 模型到 Work Stealing 算法
开发语言·算法·golang·gmp·groutine调度器·go并发·work stealing
{⌐■_■}1 天前
【etcd】ubuntu22安装,与redis对比的区别
服务器·数据库·chrome·redis·缓存·golang·etcd