我想要下面的yaml
kind: bar name: baryaml
要在结构资源内解封的
type Kind int const ( KIND_FOO Kind = iota KIND_BAR ) type Resource struct { Kind Kind Name string }
有人能解释一下为什么下面的代码不能存储正确的类型,即使它被正确地解组了?一个一个二个一个一个一个三个一个一个一个一个一个四个一个
k5ifujac1#
感谢@JimB建议取消引用k指针:
k
func (k *Kind) UnmarshalYAML(value *yaml.Node) error { var kind string err := value.Decode(&kind) if err != nil { return err } switch kind { case "foo": *k = KIND_FOO case "bar": *k = KIND_BAR default: return fmt.Errorf("unknown kind: %s", kind) } fmt.Println("Unmarshaled kind:", *k) return nil }
1条答案
按热度按时间k5ifujac1#
感谢@JimB建议取消引用
k
指针: