其实大家可能经常用多重循环去判断这个判断那个,然后判断完了赋值,然后就直接退出了,或者在退回到某层循环的时候执行些什么,有什么好方法可以直接退到我们想退的层呢?
刚好这个项目有好几处这样的判断,所以我就对这里进行一下自己的总结。
我在代码里面使用了两种方法,大家可以等我讲完了,看看那种更适合自己,以后写代码的时候也就可以直接简化一下复杂的判断了。
第一种便是break,肯定有童鞋会问了,break不是跳出一层循环吗?怎么可以跳出多层循环呢,那就多放点break嘛,呵呵,其实答案就是你们想的这样,每层都放上break,然后定义函数级变量来记录状态,把break放在if里面,这就是最好的方法。
第二种就是用goto。直接goto到你需要的层面上。很多人都说goto不能用,其实是不能乱用,主要是怕你驾驭不了这个函数,如果你注意方法,再该用的地方再用,那就可以使用了。
一般情况我是这样的,如果一个程序中,有三层以下的循环,而且每一层都要赋值或者操作的话,建议用if-break来处理。而当你发现你已经写了快五六个状态变量的话,就可以重写一下,将if-break改成goto了。
当然大家肯定各自都有各自的思路,我的这种想法,肯定也是大家想过的,我只是在这里小结一下,其实说白了,就是把他们用到该用的地方,花最少的力气,解决最复杂的事情。有时间,写段代码上来,供大家研究