copier
copier copied to clipboard
如何Copy非匿名嵌套结构体
如何Copy非匿名嵌套结构体
type A struct {
Address string
}
type Project struct {
Name string
}
type AWithProject struct {
A A
Project Project
}
type C struct{
Address string
Project struct{
Name string
}
}
// 以上的情况从AWithProject 到 C只能成功复制Project的内容,无法复制Address这个字段,尝试过添加tag也无法生效
在C中使用匿名嵌套A的方式可以解决以上问题,貌似也属于是曲线救国了,要是库能原生支持就好了,或者使用tag支持xx.xx的嵌套层级,这样可以更方便的实现一些功能
不是有一种Method到Field的写法吗? 我觉得你可以添加一个Address方法就可以实现了。
func (a * AWithProject) Address() string {
return a.A.Address
}