我似乎无法在文档中找到它,是否可以保证字段中的顺序与结构中声明的顺序匹配?我知道它看起来在逻辑上是这样(由于内存布局),而且它似乎也以这种方式执行,但只是确定一下。如果这不是保证,我不希望代码稍后中断。
例如,如果我有
type Foo struct {
bar string `tag:"bar"`
baz string `tag:"baz"`
barbaz string `tag:"barbaz"`
}
我运行了这个代码:
var c Foo
t := reflect.TypeOf(c)
nf := t.NumField()
tags := make([]string, nf)
for f := 0; f < nf; f++ {
tags[f] = t.Field(f).Tag.Get("tag")
}
将tags被保证是["bar", "baz", "barbaz"]?
千万里不及你
青春有我
相关分类