Go允许我们定义不带名称的结构体成员,只需要指定类型即可,这种结构体成员称为匿名成员,比如
type Point struct {
X int `bson:"x"`
Y int `bson:"y"`
}
type Circle struct {
Point
Radius int `bson:"redius"`
}
这个匿名成员,在json的tag中是可以正常的反序列化的,但是mgo的bson tag中会存在问题的,获取不到x,y的值;看了下它的实现,目前尚未找到原因,解决办法是将匿名成员取消,全员复制。
type Circle struct {
X int `bson:"x"`
Y int `bson:"y"`
Radius int `bson:"redius"`
}
欢迎大佬留言指教。