分类结构
type category struct {
id int
pid int
name string
children []category
}
分类列表如下
var list []category = []category{
{
id: 1,
pid: 0,
name: "首页",
},
{
id: 2,
pid: 0,
name: "新闻",
},
{
id: 3,
pid: 2,
name:"军事新闻",
},
{
id: 4,
pid: 3,
name:"国内军事速递",
},
{
id: 5,
pid: 3,
name:"欧美军事速递",
},
{
id: 6,
pid: 2,
name:"娱乐新闻",
},
{
id: 7,
pid: 0,
name:"游戏",
},
{
id: 8,
pid: 6,
name:"综艺大观",
},
{
id: 9,
pid: 7,
name:"手游",
},
}
递归实现
func tree(list []category,pid int) []category {
var treeList []category
for _, r := range list {
if r.pid == pid {
r.children = tree(list,r.id)
treeList = append(treeList,r)
}
}
return treeList
}
//调用
tree(list,0)