GO语言递归查询树状对象时,children为何返回nil?
递归查询树状对象时,children为何返回nil?
在go语言中进行树状对象递归查询时,可能会遇到children返回nil的问题。这种情况的原因通常是数组/切片在查询后的值传递方式造成的。
go语言中,函数的参数传递使用的是值拷贝机制,因此对于数组/切片类型,findchildren函数返回的结果并不是赋值给了regiontree,而是赋值给了局部变量region。
要解决这个问题,有两个修改方案:
- 将切片类型修改为指针类型,同时修改数据结构定义和代码。
- 采用直接循环遍历的方式,如下所示:
for i := 0; i
以上就是GO语言递归查询树状对象时,children为何返回nil?的详细内容,更多请关注其它相关文章!