golang 載入ini風格配置檔案
摘要:
parseIni 工具包
用於引入ini配置檔案,載入ini風格配置檔案。
特性
1) 如果以 ; 、 # 、// 出顯在行首,則認為是配置檔案的註釋
2) 支援讀配置檔案的某項值後,進行型別轉換
主要支援以下幾種型別轉換:
String、Int、Int64、Float...
parseIni 工具包
用於引入ini配置檔案,載入ini風格配置檔案。
特性
1) 如果以 ; 、 # 、// 出顯在行首,則認為是配置檔案的註釋
2) 支援讀配置檔案的某項值後,進行型別轉換
主要支援以下幾種型別轉換:
String、Int、Int64、Float64、
INI演示檔案(DEMO)
environ = develop pi = 3.1415 isCache = 1 [mysql] host = localhost dbname = api user = root passwd = abc123456" port = 3306 [省會] 河北 = Shi Jia Zhuang 遼寧= '瀋陽' 湖南 ="長沙" 吉林=長春 陝西 = "Xi'an"
引用示例:
func main(){ c,err := parseIni.ReadIniFile("./demo/demo.ini") if err != nil { fmt.Println(err) return } // 預設獲取配置值為string型 (此函式的另一個別名函式為 GetConfigToString ) strvalue,err := c.GetConfig("mysql.passwd") fmt.Printf("value=%v \t type=%T \t err=%v \n",strvalue,strvalue,err) // 輸出 value=abc123 type=string err=<nil> // 獲取配置值且轉為int型 value,err := c.GetConfigToInt("mysql.port") fmt.Printf("value=%v \t type=%T \t err=%v \n",value,value,err) // 輸出 value=3306 type=int err=<nil> // 獲取不存在的key值 value,err = c.GetConfigToInt("noneKey") fmt.Printf("value=%v \t type=%T \t err=%v \n",value,value,err) // 輸出 value=0 type=int err=指定的key不存在 // 獲取配置值且轉為float型 fvalue,err := c.GetConfigToFloat64("pi") fmt.Printf("value=%v \t type=%T \t err=%v \n",fvalue,fvalue,err) // 輸出 value=3.1415 type=float64 err=<nil> // 獲取配置值且轉為bool型 (非"0"便為true) bvalue,err := c.GetConfigToBool("isCache") fmt.Printf("value=%v \t type=%T \t err=%v \n",bvalue,bvalue,err) // 輸出 value=true type=bool err=<nil> // 獲取配置值,會忽略配置檔案兩邊的 " 與 ' svalue,err := c.GetConfigToString("省會.遼寧") fmt.Printf("value=%s \t type=%T \t err=%v \n",svalue,svalue,err) // 輸出 value=瀋陽 type=string err=<nil> svalue,err = c.GetConfigToString("省會.陝西") fmt.Printf("value=%s \t type=%T \t err=%v \n",svalue,svalue,err) svalue,err = c.GetConfigToString("省會.河北") fmt.Printf("value=%s \t type=%T \t err=%v \n",svalue,svalue,err) // 輸出 value=Shi Jia Zhuang type=string err=<nil> }