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

注意事项:

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

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

相关推荐
一根甜苦瓜3 小时前
Go语言Slice的一道骚题
开发语言·后端·golang
驰羽3 小时前
[GO]Go语言泛型详解
开发语言·golang·xcode
NPE~3 小时前
[手写系列]Go手写db — — 第五版(实现数据库操作模块)
开发语言·数据库·后端·golang·教程·手写系列·手写数据库
jiajixi17 小时前
Go 异步编程
开发语言·后端·golang
QX_hao17 小时前
【Go】--strings包
开发语言·后端·golang
秦禹辰17 小时前
venv与conda:Python虚拟环境深度解析助力构建稳定高效的开发工作流
开发语言·后端·golang
poemyang17 小时前
“不要通过共享内存来通信”——深入理解Golang并发模型与CSP理论
golang·并发编程
jiajixi17 小时前
go-swagger学习笔记
笔记·学习·golang
belldeep21 小时前
go语言:在 Win10上,如何编译 ffuf-v2.1.0?
golang·安全测试·ffuf