golang讀取ini設定檔的方法

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

好幾天沒有更新了因為我正在研究一個新的項目,然後很費時,希望到時候得到大家的認可和協助,這裡申明一下希望大家協助一下,如果您有好的程式或者代碼判斷,想分享給大家,您可以向我投稿,分享代碼就是為了協助大家,代碼一定要是可行的,到時候我會先測試然後再發布!發送程式碼片段可以直接到我的郵箱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設定檔的方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.