這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
好幾天沒有更新了因為我正在研究一個新的項目,然後很費時,希望到時候得到大家的認可和協助,這裡申明一下希望大家協助一下,如果您有好的程式或者代碼判斷,想分享給大家,您可以向我投稿,分享代碼就是為了協助大家,代碼一定要是可行的,到時候我會先測試然後再發布!發送程式碼片段可以直接到我的郵箱admin#widuu.com(#換成@),也可以加我的QQ:23169450,下邊是一個golang讀取ini檔案的簡單案例!
[php]
package main
import (
"bufio"
"fmt"
"io"
"os"
"strings"
)
//申明一個map到時候存取設定檔
var per map[string]interface{}
func main() {
//執行個體化這個map
per = make(map[string]interface{})
//開啟這個ini檔案
f, _ := os.Open("test.ini")
//讀取檔案到buffer裡邊
buf := bufio.NewReader(f)
for {
//按照換行讀取每一行
l, err := buf.ReadString(‘\n’)
//相當於PHP的trim
line := strings.TrimSpace(l)
//判斷退出迴圈
if err != nil {
if err != io.EOF {
//return err
panic(err)
}
if len(line) == 0 {
break
}
}
switch {
case len(line) == 0:
//匹配[db]然後儲存
case line[0] == ‘[‘ && line[len(line)-1] == ‘]’:
section := strings.TrimSpace(line[1 : len(line)-1])
fmt.Println(section)
default:
//dnusername = xiaowei 這種的可以匹配儲存
i := strings.IndexAny(line, "=")
per[strings.TrimSpace(line[0:i])] = strings.TrimSpace(line[i+1:])
}
}
//迴圈輸出結果
for k, v := range per {
fmt.Println(k, v)
}
}
[/php]
未經允許,不得轉載本站任何文章:微度網路 » golang讀取ini設定檔的方法