【发布时间】:2018-11-28 23:54:27
【问题描述】:
YAML 文件可以包含带有“多行字符串”数据的字段。示例如下:
Data:
Foo: |
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
如何在 Golang 中正确编码和解码这些,Data 字段的类型应该是什么,map[string][]byte?
我试过了:
import (
yamlv2 "gopkg.in/yaml.v2"
)
type data struct {
Data map[string][]byte
}
func decode(bytes []byte) (*data, error) {
d := &data{}
err := yamlv2.Unmarshal(bytes, d)
if err != nil {
return nil, err
}
return d, nil
}
另见Playground。
【问题讨论】:
-
那个例子是“二进制”呢?它看起来像完全正常的 ASCII 文本。
-
我的错,不知道用什么术语来指代这种字段类型。是多行字符串吗?
-
是的,我称之为多行字符串。