我想知道如何检索实例的父结构。 我不知道如何实现这一目标。
例如:
type Hood struct { name string houses []House } type House struct { name string people int16 } func (h *Hood) addHouse(house House) []House { h.houses = append(h.houses, house) return h.houses } func (house *House) GetHood() Hood { //Get hood where the house is situated return ...? }
干杯
您应该保留一个指向引擎盖的指针。
type House struct { hood *Hood name string people int16 }
当你增加房子
func (h *Hood) addHouse(house House) []House { house.hood = h h.houses = append(h.houses, house) return h.houses }
那么您可以轻松更改GetHood,尽管此时可能不需要吸气剂。
GetHood
func (house *House) GetHood() Hood { return *house.hood }