https://www.itdaan.com/blog/2017/07/20/b9f11fc96541481358cc658cfe43036b.html
func (appc *AppCate) AppCateArr(pid int64) []*AppCateNode {    apc := new([]*AppCate)
    db.GetEngine().Where("parent_id=?", pid).Find(apc)
    if apc == nil {
        return nil
    }
    apc_node := []*AppCateNode{}
    for _, v := range *apc {
        chd := appc.AppCateArr(v.Id)
        node := &AppCateNode{
            Id:   v.Id,
            Name: v.Name,
        }
        node.Sub = chd
        apc_node = append(apc_node, node)
    }
    return apc_node
}









