百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

go-envconfig

> 编程语言
开源

一个 Go 库,用于解析来自环境变量的结构标签。

1.2K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

一个 Go 库,用于解析来自环境变量的结构标签。

Envconfig

Envconfig 根据环境变量或配置文件中的值填充结构体字段值 它支持预设变异,这很有用。 例如将值转换为大写、去除空格或查找 保守秘密。

使用方法

使用 env 标签定义具有字段的结构体:

go
type MyConfig struct {
  Port     string `env:"PORT"`
  Username string `env:"USERNAME"`
}

设置一些环境变量:

bash
export PORT=5555
export USERNAME=yoyo

使用 envconfig 处理它:

go
package main

import (
  "context"
  "log"

  "github.com/sethvargo/go-envconfig"
)

func main() {
  ctx := context.Background()

  var c MyConfig
  if err := envconfig.Process(ctx, &c); err != nil {
    log.Fatal(err)
  }

  // c.Port = 5555
  // c.Username = "yoyo"
}

您还可以使用嵌套结构体,但请记住,任何您想要的字段 流程必须是公开的:

go
type MyConfig struct {
  Database *DatabaseConfig
}

type DatabaseConfig struct {
  Port     string `env:"PORT"`
  Username string `env:"USERNAME"`
}

配置

使用 env 结构标签来定义配置。请参阅 [godoc][] 以了解使用方法 示例。

  • required - 标记一个字段为必需字段。如果一个字段是必需的,如果环境变量未设置,解码将出错。

作为一个特殊情况,默认值应包含一个字面量 $,因此需要用反斜线进行转义。不幸的是,这需要在结构标签中使用双反斜线:

[][godoc]

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言