代碼示例全部保存在,歡迎star:https://github.com/EnochZg/golang examples 安裝組件 使用 先創建ini尾碼的配置文件,本文以config.ini為例 在main函數中加入以下代碼讀取username配置 運行後即可讀取到username的值,上文中的Se ...
代碼示例全部保存在,歡迎star:https://github.com/EnochZg/golang-examples
安裝組件
go get gopkg.in/ini.v1
使用
先創建ini尾碼的配置文件,本文以config.ini為例
username = 平也
在main函數中加入以下代碼讀取username配置
package main
import (
"fmt"
"gopkg.in/ini.v1"
"os"
)
func main() {
cfg, err := ini.Load("config.ini")
if err != nil {
fmt.Println("文件讀取錯誤", err)
os.Exit(1)
}
fmt.Println(cfg.Section("").Key("username"))
}
運行後即可讀取到username的值,上文中的Section有什麼作用呢?我們在配置文件中加入以下配置
[mysql]
username = root
這個時候配置文件中就存在兩個一樣的username,那麼讀取的時候以哪個為準呢?這就需要通過Section來區分了,在main函數中加入以下代碼,通過在Section中傳入參數來讀取mysql中的配置
fmt.Println(cfg.Section("mysql").Key("username"))
運行可以發現,現在讀取到的內容為root
進階
限制值
我們還可以對值進行限制,假如我們只允許值為張三或者李四,如果用戶設置的名稱不在這兩個裡面,那麼就預設為張三,代碼可以如下編寫
fmt.Println(cfg.Section("mysql").Key("username").In("張三", []string{"張三", "李四"}))
運行後輸出結果為“張三”
修改配置文件
在main行數中加入以下代碼可以反設置回配置文件中
cfg.Section("mysql").Key("username").SetValue("李四")
err = cfg.SaveTo("config.ini")
if err != nil {
fmt.Println("文件保存錯誤", err)
}
以上代碼意為將mysql中的username改為李四,我們去查看一下config.ini,成功被改為李四
[mysql]
username = 李四