递归目录
一、问题起因
为什么会使用到递归,是在做接口自动化的时候,我把yaml文件作为数据配置的存储,例如:账号、密码、地址等
自动化项目中的数据分离
我读取到的yaml是一个字典,每次都要按照从最外层级来开始定位获取值,如果我嵌套了好几层的话,写起来也比较麻烦,我就想如果我能方便的找到任意一个层级的key-value就好了。
于是接触到了递归。
二、递归原理
简单的来讲:一个函数在内部调用自身本身,这个函数就是递归函数。
2.1关于递归的一种解释:
此解释来源
我们使用的词典,本身就是递归,为了解释一个词,需要使用更多的词。当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词,可惜,第二个词里仍然有不懂的词,于是查第三个词,这样查下去,直到有一个词的解释是你完全能看懂的,那么递归走到了尽头,然后你开始后退,逐个明白之前查过的每一个词,最终,你明白了最开始那个词的意思。。。
三、递归需要注意的地方
3.1递归函数的理解:
来源:递归详解
https://www.cnblogs.com/Fantinai/p/7806356.html
在这里我理解的是,当调用递归的时候,进入更深的下一层,但是上一层并没有结束,而是在等待下一层的方法结束。
这让我想起了剥洋葱,一层一层的剥洋