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

注意事项:

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

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

相关推荐
剩下了什么1 天前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
ttwuai1 天前
Go 后台接入 SSO 后菜单正常但接口 403,怎么排查权限链路?
开发语言·后端·golang
PC2005-cloud2 天前
Go学习笔记:基本概念与项目结构——GOPATH、Go Modules 与常用命令
笔记·学习·golang
ttwuai2 天前
Go 后台图片上传到对象存储后,预览 403/404 怎么排查?
开发语言·golang
名字还没想好☜2 天前
Go 1.23 range-over-func 迭代器实战:自定义可迭代类型、提前退出与惰性求值
开发语言·后端·golang·go·迭代器
灯澜忆梦2 天前
【基于GO的Web开发4】html/template 模板语法
后端·golang·html
圣殿骑士-Khtangc2 天前
Go-Kubernetes-Client-go编程从Pod管理到CRD开发
golang
PC2005-cloud2 天前
Go学习笔记:错误处理——没有异常,只有 error
笔记·学习·golang
路多辛2 天前
一个 Go 写的全能 AI Agent,讲讲 covo-agent
java·开发语言·golang
圣殿骑士-Khtangc2 天前
Go-Prometheus指标采集与监控全栈实践
golang