【发布时间】:2018-06-04 00:35:09
【问题描述】:
我在解析 yaml 文件后填充了以下结构 问题是报价丢失了
.yaml 中的文件
例如
_schema: "3.0.0"
bar:
- one
文件 out.yaml
_schema: 3.0.0
bar:
- one
如您所见,我得到的是 3.0.0 而不是 “3.0.0” ,知道如何克服这个问题
这是我为演示问题而创建的一个小程序
package main
import (
"gopkg.in/yaml.v2"
"io/ioutil"
)
type Config struct {
Schema string `yaml:"_schema"`
Bar []string
}
func main() {
cfg := Config{}
source, err := ioutil.ReadFile("in.yaml")
if err != nil {
panic(err)
}
err = yaml.Unmarshal([]byte(source), &cfg)
if err != nil {
panic(err)
}
y, _ := yaml.Marshal(&cfg)
err = ioutil.WriteFile("out.yaml", y, 0644)}
}
【问题讨论】:
-
为什么需要引号?因为它只是一个字符串,所以没关系