解码JSON时,我总是为每个对象显式编写一个结构,以便可以在父结构中为单个对象实现Stringer接口,如下所示:
type Data struct {
Records []Record
}
type Record struct {
ID int
Value string
}
func (r Record) String() string {
return fmt.Sprintf("{ID:%d Value:%s}", r.ID, r.Value)
}
我最近了解到可以对匿名结构进行嵌套。此方法对于定义要解码的数据的结构更加简洁:
type Data struct {
Records []struct {
ID int
Value string
}
}
但是,是否可以在结构的成员(特别是匿名结构的成员)上定义方法?类似于第一个代码块中的Stringer接口实现。
鸿蒙传说
相关分类