do{
//业务逻辑
}while(false);
在公司阅读项目代码中发现了一段奇怪的代码,引起了好奇心。经过查询资料,发现这样写有以下妙用,特此记录一下。
-
实现类似goto的功能、简化代码嵌套
代码编写中,常常会遇见这种情况,第二个判断需要依赖第一个判断的结果,甚至第三个判断需要依赖第二个判断的结果。则条件判断就只能写作下面这种形式。这也是很多逻辑代码if...else嵌套很多层的原因之一。
if(condition1){ //代码段1 if(condition2){ //代码段2 if(condition3){ //代码段3 } } }
然而各种判断嵌套在一起,不容易理清代码逻辑,而且容易出错。如果使用do...while则可解决这种多重嵌套的问题
do{ if(!condition1) break; //代码段1 if(!condition2) break; //代码段2 if(!condition3) break; //代码段3 }while(false)