Go組件學習:如何讀取ini配置文件
代碼示例全部保存在,歡迎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 = 李四
Go語言組件學習示例開源庫,歡迎star
https://github.com/EnochZg/golang-examples

浙公網安備 33010602011771號