Penso di usare il inline
campo tag è l'opzione migliore per te. La documentazione di mgo/v2/bson afferma:
inline Inline the field, which must be a struct or a map,
causing all of its fields or keys to be processed as if
they were part of the outer struct. For maps, keys must
not conflict with the bson keys of other struct fields.
La tua struttura dovrebbe quindi essere definita come segue:
type Cube struct {
Square `bson:",inline"`
Depth int
}
Modifica
inline
esiste anche in mgo/v1/bson
nel caso tu stia usando quello.