现在的位置: 首页 > web前端 > 正文

请教golang生成tree

2020年07月17日 web前端 ⁄ 共 943字 ⁄ 字号 评论关闭

  golang生成tree,golang解析xml神器etreego语言中的xml解析方法学习笔记Golang原生的encoding/xml.如果根据递归表高效的生成树由如下一个递归表数据结构。


  golang生成tree业务场景:


      一个机构查询科室信息的时候,希望返回树状结构的嵌套格式;


  golang生成tree解决办法:


     通过递归和指针,嵌套成对应的结构体;


     借鉴了前人的代码,但是最后递归的指针调用自己也是调试了半天才出来,这里献上完整的示例代码.    


   


  packagemain


  import(


   "fmt"


   "encoding/json"


  )


  typedeptstruct{


   DeptIdstring`json:"deptId"`


   FrameDeptStrstring`json:"frameDeptStr"`


   Child[]*dept`json:"child"`


  }


  funcmain(){


   depts:=make([]dept,0)


   varadept


   a.DeptId="1"


   a.FrameDeptStr=""


   depts=append(depts,a)


   a.DeptId="3"


   a.FrameDeptStr="1"


   depts=append(depts,a)


   a.DeptId="4"


   a.FrameDeptStr="1"


   depts=append(depts,a)


   a.DeptId="5"


   a.FrameDeptStr="13"


   depts=append(depts,a)


   a.DeptId="6"


   a.FrameDeptStr="13"


   depts=append(depts,a)


   fmt.Println(depts)


   deptRoots:=make([]dept,0)


   for_,v:=rangedepts{


    ifv.FrameDeptStr==""{


     deptRoots=append(deptRoots,v)


    }


  总之,golang生成tree给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.