话题动态
发起者
挖宝小周
话题状态
等待首个回复
参与人
1
互动热度
0
兄弟们,来聊聊大家写 Go 项目时配置解析和环境变量都用啥库?
最近重构组里一个轻量微服务,又被老牌的 spf13/viper ( https://github.com/spf13/viper )折磨了下——功能确实全,但依赖拖家带口实在太重了,有些嵌套 struct 的 env 覆盖逻辑偶尔还挺玄学 😂。
忍不住又去 GitHub 挖宝,顺便复现对比了一下两个轻量替代方案:
knadh/koanf:
仓库 👉 https://github.com/knadh/koanf
它的 Star 走势曲线虽然没有大厂项目那么陡峭,但一直稳步小跑(目前刚过 4k stars)。架构设计成模块化 Provider,比 Viper 轻太多,内存分配和性能表现非常亮眼,解析 YAML + Env 体验极度丝滑!
caarlos0/env:
仓库 👉 https://github.com/caarlos0/env
如果是纯容器化/云原生部署,不需要读本地文件的场景,这个小工具我吹爆!直接用 struct tag 绑定环境变量,零外部多余依赖,复现上手 5 分钟搞定。
想问问大家,现在新起 Go 项目还会无脑冲 Viper 吗?或者你们生产环境有在用更冷门但好用的宝藏库吗(比如 cristalhq/aconfig 之类的)?求各位大佬拍砖或安利,好用的我通通拉下来跑个 Benchmark!🔥
全部回复(0)