做过web服务器端开发的同学,在开发菜单接口的时候,必然会遇到这样的问题:怎样把扁平化的List转成树结构化的List,如果你用的是node java python go其中任何一种,这个需求代码实现起来都非常的容易,但是如果你用的是rust,你会发现这项看起来简单的工作将变得异常困难
以下是rust函数签名
我研究了一整天,绞尽脑汁尝试了各种方法试图朵过编译器的“”杀毒“”,写了上千行代码,最后还是不得不删除重来
不过幸运的是,在发这篇文章时我已经找到了两种实现方法,都能成功编译通过,下面我用rust程序的执行结果截图
不信邪同学可以自己动手尝试一下这个简单的需求,实际开发起来到底有多艰巨多困难?如果你还是用的java、go、python、node这种传统编程思维,我敢保证,你就等着rust编译器的“”追杀“”吧,你是逃不过的
当然你还有种选择,你可以把这项数据转换工作扔给前端,不管是pc端的js/ts 还是移动端的flutter或鸿蒙,它又变得容易了,因为你不用rust来实现(不过貌似移动端都没有这样的需求,需要在页面展示树结构的)