V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
xmlHexagram
V2EX  ›  Go 编程语言

写了一个 golang 解析环境变量的工具库,准备用在生产里。

  •  
  •   xmlHexagram · 2022-03-02 15:18:45 +08:00 · 1799 次点击
    这是一个创建于 1024 天前的主题,其中的信息可能已经有所发展或是发生改变。

    将环境变量映射到一个 struct 上,准备去给公司代码下毒。

    因为公司里项目不使用配置文件,都是通过环境变量,而 viper 的环境变量解析不是很方便,就自己写了一个。

    在个人项目里面用过了,觉得挺方便的,整理了一下开源了出来。

    帮忙看看能不能说服 CTO 让我下毒。

    项目地址

    https://github.com/XMLHexagram/emp

    5 条回复    2022-03-02 23:28:31 +08:00
    xmlHexagram
        1
    xmlHexagram  
    OP
       2022-03-02 15:22:35 +08:00
    主要构想是定义 struct 并且映射环境变量到 struct 上,像是 json.Unmarshal()那样。

    提供了通过 tagName 自定义 name, prefix, ignore 。

    并且可以配置 allowEmpty, AutoPrefix, DirectDefualt, ParseStringToArrayAndSlice 等帮助更方便的解析
    sanggao
        2
    sanggao  
       2022-03-02 16:13:42 +08:00
    很牛了
    Hanggi
        3
    Hanggi  
       2022-03-02 17:00:14 +08:00
    viper 不香吗?
    yiplee
        4
    yiplee  
       2022-03-02 18:41:20 +08:00
    类似需求我之前用过 https://github.com/kelseyhightower/envconfig ,也挺好用的
    xmlHexagram
        5
    xmlHexagram  
    OP
       2022-03-02 23:28:31 +08:00
    @Hanggi viper 不能映射环境变量到 struct (至少我没有翻到用法)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:49 · PVG 18:49 · LAX 02:49 · JFK 05:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.