You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go中对应Node.js process.env的替代方案:如何获取单程序传入环境变量

Go 获取进程专属环境变量的方法

Go 标准库内置os包即可实现和 Node.js 中process.env完全等价的环境变量读取能力,具体操作如下:

1. 代码实现示例

基础读取

直接调用os.Getenv方法传入环境变量名即可:

package main

import "os"

func main() {
    // 等价于 Node.js 中的 const HTTP_PORT = process.env.HTTP_PORT
    httpPort := os.Getenv("HTTP_PORT")
}

进阶:判断环境变量是否存在

如果需要区分「环境变量未设置」和「环境变量值为空」的场景,可以使用os.LookupEnv方法:

httpPort, isSet := os.LookupEnv("HTTP_PORT")
if !isSet {
    // 变量未设置时可以指定默认值或做异常处理
    httpPort = "8080"
}

2. 启动时传入环境变量的方式

和 Node.js 完全一致,在执行命令前拼接环境变量键值对即可,该变量仅对当前启动的进程生效:

# 运行源码的场景
$ HTTP_PORT=5000 go run main.go

# 编译为二进制后执行的场景
$ HTTP_PORT=5000 ./your-binary-file

内容的提问来源于stack exchange,提问作者IMStories

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:48:03