golang解析巢狀yaml配置(區域性解析)

2021-10-22 19:45:28 字數 1056 閱讀 3279

golang中解析yaml配置檔案

username: raily

password: 123a

那麼我們可以像下邊這樣解析:

type config struct

var databaseconfig *config

//解析函式

func load(path string) error

err = yaml.unmarshal(yamlfile, conf)

if err != nil

databaseconfig = conf

return err

}

解析巢狀的yaml檔案

上面的例子只是解析了最簡單的yaml檔案,沒有巢狀的yaml檔案,但是實際應用中,巢狀的情況經常出現。

假設yaml配置檔案config.yaml的內容為:

redis:

address: 127.0.0.0

password: 123a

mysql:

username: momo

password: 123a

解析過程中,我們只需改變config的結構體即可,解析函式參照上邊的例子。解析的結構體可寫為以下兩種格式。

type config struct

mysql struct

}

或者:

type config struct

type redis struct

type mysql struct

然後用上例中的load函式進行解析即可。

將yaml配置內容解析到map物件中

如果懶得去寫struct進行unmarshal,也可以直接宣告乙個map物件:

resultmap := make(map[string]inte***ce{}),代替struct 結構體來進行解析。

golang基礎學習 yaml檔案的解析

官網解釋 yaml 1.2 yaml yaml ain t markup language what it is yaml is a human friendly data serialization standard for all programming languages.yaml語法,請參考...

golang中解析yaml配置檔案

首先看乙個簡單的例子,現在我們有乙個config.yaml的配置檔案,內容為 username raily password 123a那麼我們可以像下邊這樣解析 type config struct var databaseconfig config 解析函式 func load path stri...

yaml陣列解析 解析動態Yaml檔案

我有乙個yaml檔案,當前寫為 keys key secret dog values username shiba password inu key secret cat values dbhost localhost words meow 但是,此yaml檔案經常更改,因此每次可以使用不同的值新增...