接口自动化笔记02:递归的原理是什么?怎么写一个获取多层结构中值的方法?

一、问题起因

  为什么会使用到递归,是在做接口自动化的时候,我把yaml文件作为数据配置的存储,例如:账号、密码、地址等
自动化项目中的数据分离
  我读取到的yaml是一个字典,每次都要按照从最外层级来开始定位获取值,如果我嵌套了好几层的话,写起来也比较麻烦,我就想如果我能方便的找到任意一个层级的key-value就好了。
  于是接触到了递归。

二、递归原理

  简单的来讲:一个函数在内部调用自身本身,这个函数就是递归函数。

2.1关于递归的一种解释:

此解释来源
  我们使用的词典,本身就是递归,为了解释一个词,需要使用更多的词。当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词,可惜,第二个词里仍然有不懂的词,于是查第三个词,这样查下去,直到有一个词的解释是你完全能看懂的,那么递归走到了尽头,然后你开始后退,逐个明白之前查过的每一个词,最终,你明白了最开始那个词的意思。。。

三、递归需要注意的地方

3.1递归函数的理解:

来源:递归详解
https://www.cnblogs.com/Fantinai/p/7806356.html

  在这里我理解的是,当调用递归的时候,进入更深的下一层,但是上一层并没有结束,而是在等待下一层的方法结束。
  这让我想起了剥洋葱,一层一层的剥洋

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值