使用 Go 解析 YAML 檔案

做法

安裝套件。

1
go get gopkg.in/yaml.v2

假設有一個 config.yaml 檔如下:

1
2
3
---
endpoint: http://127.0.0.1:8000/api
project_id: "1"

建立一個 Config 結構體,並使用 yaml.Unmarshal 方法反序列化。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var (
config Config
)

type Config struct {
Endpoint string `yaml:"endpoint"`
ProjectID string `yaml:"project_id"`
}

func main() {
b, err := ioutil.ReadFile("localiser.yaml")
if err != nil {
log.Fatal(err)
}
yaml.Unmarshal(b, &config)
}

執行。

1
go run main.go

參考資料