我想知道如何检索实例的父结构.
我不知道如何实现这一点.
例如:
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 ...?
}
Run Code Online (Sandbox Code Playgroud)
干杯
你应该保留一个指向引擎盖的指针.
type House struct {
hood *Hood
name string
people int16
}
Run Code Online (Sandbox Code Playgroud)
当你追上房子的时候
func (h *Hood) addHouse(house House) []House {
house.hood = h
h.houses = append(h.houses, house)
return h.houses
}
Run Code Online (Sandbox Code Playgroud)
然后你可以轻松改变GetHood,虽然此时可能不需要吸气剂.
func (house *House) GetHood() Hood {
return *house.hood
}
Run Code Online (Sandbox Code Playgroud)