【发布时间】:2021-02-27 04:34:36
【问题描述】:
我对 Go 还有些陌生,需要一些帮助。我有一个 YAML 的 sn-p,我想将其解组为我可以使用的东西。
YAML:
script:
- executable: python
- script.py
这些是我目前拥有的结构。我可以得到Executable,但我不能得到参数列表。
type Config struct {
Script []ScriptConfig `yaml:"script"`
}
type ScriptConfig struct {
Executable string `yaml:"executable"`
Arguments []string `yaml:",flow"`
}
有人能帮帮我吗?如何获取参数列表?
【问题讨论】:
-
所有带有
-的连续行都被视为数组项,因此脚本属性是一个数组。正确的表示是Script []string。数组中的第一项是可执行文件,其余是参数。 -
@gp.So 我试过了。这得到了参数,但没有得到可执行文件。我无法弄清楚如何同时获得两者。我似乎只能得到一个或另一个。
-
知道了。第一项不是字符串。使用
ScriptConfig interface{}将允许解码,但是您需要检查类型和类型转换。
标签: go yaml unmarshalling