1 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
這將是無效的 YAML1.1(或至少令人困惑),因?yàn)?code>on關(guān)鍵字被解釋為布爾值true
(請(qǐng)參閱YAML1.1 規(guī)范)。
根據(jù)go-yaml
文檔:
yaml 包支持 YAML 1.2 的大部分內(nèi)容,但保留了 1.1 中的一些行為以實(shí)現(xiàn)向后兼容性。
具體來說,從 yaml 包的 v3 開始:
只要將 YAML 1.1 布爾值(是/否,開/關(guān))解碼為類型化的布爾值,它們就受支持。否則,它們表現(xiàn)為字符串。YAML 1.2 中的布爾值僅是真/假。
如果您更改yaml:"on"
為其他任何內(nèi)容,例如yaml:"foo"
key 將不會(huì)被引用。
type T struct {
On string `yaml:"on"`
Foo string `yaml:"foo"`
}
func main() {
t := T{
On: "Hello",
Foo: "world",
}
b, _ := yaml.Marshal(&t)
fmt.Println(string(b))
}
// "on": hello
// foo: world
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報(bào)