config - 配置管理
概述
config 模組提供配置文件載入,支援多種格式包括 JSON、YAML、TOML、INI、HCL 等。
支援的格式
- JSON -
.json,.json5 - YAML -
.yaml,.yml - TOML -
.toml - INI -
.ini - HCL -
.hcl - XML -
.xml - Properties -
.properties - ENV -
.env
核心函數
LoadConfig()
載入配置文件並驗證。
參數:
c- 配置結構體指針paths- 可選的文件路徑列表
返回值:
- 如果載入或驗證失敗,返回錯誤
搜索順序:
- 提供的顯式路徑
- 環境變量
LAZYGOPHERS_CONFIG - 當前目錄(
conf.*或config.*) - 可執行文件目錄(
conf.*或config.*)
示例:
LoadConfigSkipValidate()
載入配置文件但不驗證。
參數:
c- 配置結構體指針paths- 可選的文件路徑列表
返回值:
- 如果載入失敗,返回錯誤
示例:
SetConfig()
保存配置到文件。
參數:
c- 要保存的配置結構體
返回值:
- 如果保存失敗,返回錯誤
示例:
RegisterParser()
為文件擴展名註冊自定義解析器。
參數:
ext- 文件擴展名(例如 ".custom")m- 編碼器函數u- 解碼器函數
示例: