//释放对象,如果有子对象一并释放 func (p *Pool) FreeObj(e datatype.Entityer) { chds := e.GetChilds() for _, ch := range chds { if ch != nil { p.FreeObj(ch) } } e.ClearChilds() p.Free(e) }