亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讀取yaml,json,ini等配置文件

發布時間:2021-12-13 18:23:44 來源:億速云 閱讀:242 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何讀取yaml,json,ini等配置文件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

實際項目中,還有一個比較重要的基礎功能,就是讀取相關的配置文件。今天就來說一說,Golang 是如何讀取YAML,JSON,INI等配置文件的。

1. json使用

JSON 應該比較熟悉,它是一種輕量級的數據交換格式。層次結構簡潔清晰 ,易于閱讀和編寫,同時也易于機器解析和生成。

  1. 創建 conf.json:

{  "enabled": true,  "path": "/usr/local"}

  2. 新建config_json.go:

package main
import (    "encoding/json"    "fmt"    "os")
type configuration struct {    Enabled bool    Path    string}
func main() {    // 打開文件    file, _ := os.Open("conf.json")
   // 關閉文件    defer file.Close()
   //NewDecoder創建一個從file讀取并解碼json對象的*Decoder,解碼器有自己的緩沖,并可能超前讀取部分json數據。    decoder := json.NewDecoder(file)
   conf := configuration{}    //Decode從輸入流讀取下一個json編碼值并保存在v指向的值里    err := decoder.Decode(&conf)    if err != nil {        fmt.Println("Error:", err)    }    fmt.Println("path:" + conf.Path)}

  啟動運行后,輸出如下:

D:\Go_Path\go\src\configmgr>go run config_json.gopath:/usr/local

2. ini的使用

INI文件格式是某些平臺或軟件上的配置文件的非正式標準,由節(section)和鍵(key)構成,比較常用于微軟Windows操作系統中。這種配置文件的文件擴展名為INI。

  1. 創建 conf.ini:

[Section]enabled = truepath = /usr/local # another comment

  2.下載第三方庫:go get gopkg.in/gcfg.v1

  3. 新建 config_ini.go:

package main
import (    "fmt"    gcfg "gopkg.in/gcfg.v1")
func main() {    config := struct {        Section struct {            Enabled bool            Path    string        }    }{}
   err := gcfg.ReadFileInto(&config, "conf.ini")
   if err != nil {        fmt.Println("Failed to parse config file: %s", err)    }    fmt.Println(config.Section.Enabled)    fmt.Println(config.Section.Path)}

  啟動運行后,輸出如下:

D:\Go_Path\go\src\configmgr>go run config_ini.gotrue/usr/local

3. yaml使用

yaml 可能比較陌生一點,但是最近卻越來越流行。也就是一種標記語言。層次結構也特別簡潔清晰 ,易于閱讀和編寫,同時也易于機器解析和生成。

golang的標準庫中暫時沒有給我們提供操作yaml的標準庫,但是github上有很多優秀的第三方庫開源給我們使用。

  1. 創建 conf.yaml:

enabled: truepath: /usr/local

  2. 下載第三方庫:go get  gopkg.in/yaml.v2

  3. 創建 config_yaml.go:

package main
import (    "fmt"    "io/ioutil"    "log"
   "gopkg.in/yaml.v2")
type conf struct {    Enabled bool   `yaml:"enabled"` //yaml:yaml格式 enabled:屬性的為enabled    Path    string `yaml:"path"`}
func (c *conf) getConf() *conf {    yamlFile, err := ioutil.ReadFile("conf.yaml")    if err != nil {        log.Printf("yamlFile.Get err   #%v ", err)    }
   err = yaml.Unmarshal(yamlFile, c)    if err != nil {        log.Fatalf("Unmarshal: %v", err)    }    return c}
func main() {    var c conf    c.getConf()    fmt.Println("path:" + c.Path)}

  啟動運行后,輸出如下:

D:\Go_Path\go\src\configmgr>go run config_yaml.gopath:/usr/local

關于如何讀取yaml,json,ini等配置文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定州市| 景谷| 吴旗县| 东宁县| 吕梁市| 正镶白旗| 光泽县| 故城县| 凤庆县| 安远县| 宁武县| 兖州市| 临朐县| 新平| 沁水县| 瑞昌市| 凭祥市| 通道| 彩票| 洛宁县| 郓城县| 蕲春县| 遵义市| 广州市| 洞口县| 邵阳市| 来安县| 绥芬河市| 绩溪县| 隆尧县| 黑龙江省| 怀来县| 威宁| 神农架林区| 蒲城县| 元谋县| 蓬莱市| 车险| 黔江区| 雅安市| 仁化县|