怎么说呢,自己也试着百度了。但是关于go的示例代码真的很少。想写一个递归实现分类递归的,但是试了感觉不行,主要是因为go的切片不像php数组那样现在写下来方便自己后期用到,还有留给有需要的人
//分类 type Cate struct { Id int Name string Weight int Img string IsNav int ParentId int } //对接前端请求解析 type CateDto struct { Cate ParentIds []int } //前端需要下拉选项 type CateOption struct { Value int `json:"value"` Label string `json:"label"` Children []CateOption `json:"children"` }
func (service CateService) AllCate() []models.CateOption { //从数据库获取所有分类 goodsCate := service.Cate.AllCate() var options []models.CateOption //这里开始递归 o := MakeCateOption(goodsCate, 0, options) return o }
func MakeCateOption(goodsCate []models.Cate, pid int, cp []models.CateOption) []models.CateOption { var ops []models.CateOption for _, v := range goodsCate { if v.ParentId == pid { var option models.CateOption opti