2018.02.22更新
即使如此,能不用还是不要用!!!
个人经验
goto在一些特定场景下合理使用,不仅不会导致代码可读性和可维护性变差,反而会更容易理解和维护。
场景一、多层循环跳出
while(A)
{
...
while(B)
{
...
if(C)
{
...
goto outA;
}
}
}
outA:
...场景二、统一处理并返回
int func()
{
LockSomething();
int res = 0;
if(!func_step1())
{
goto func_return_fail;
}
if(!func_step2())
{
goto func_return_fail;
}
...
func_return_normal:
UnlockSomething();
return res;
func_return_fail:
res = -1;
UnlockSomething();
return res;
}
本文探讨了在特定场景下合理使用goto语句的方法,并通过两个实例说明如何利用goto简化多层循环的退出及错误处理过程,提高了代码的可读性和可维护性。

8205

被折叠的 条评论
为什么被折叠?



