[pkg] viper 筆記
spf13/viper @ github
Viper 是 Golang App 中用來使用設定檔的工具,它可以用來:
- 讀取 JSON、TOML、YAML、HCL、envfile、Java 屬性設定檔等等
- 設定預設值
- 自動重新讀取並載入設定檔
- 透過 CLI 中的 flags 來覆蓋設定
- 讀取 buffer 檔
- 讀取遠端的設定檔
使用步驟
- 建立設定檔:在
configs
資料夾中建立config.yaml
- 讀取設定檔:在
setting
資料夾中建立setting.go
透過 viper 讀取設定檔 - 轉成 go struct:將 viper 讀取好的設定檔透過
Marshal
轉成 golang 中可使用的 struct - 放置於全域:在
global
資料夾中建立setting.go
,將解析過後的設定檔放置於全域以供使用