One*_*ros 4 java naming if-statement
我刚刚发现我可以为For和While语句命名.我知道如果你想打破或继续一个特定的循环它是有用的.
但为什么我要给一个名字?它看起来毫无用处
name: if(true){
//do something
}
Run Code Online (Sandbox Code Playgroud)
这编译没有问题
Sar*_*ppy 10
如果你有一个带有名字的代码块,你可以使用break来退出它,这就是我找到的用于命名块的用法.
name: if(true) {
// do something
if(/* condition */) {
break name;
}
// do more
}
它也适用于没有if:
name: {
// do something
if(/* condition */) {
break name;
}
// do more
}
当我的工作出现在某些逻辑上存在一组保护条件时,以及另一组逻辑将会落入其中而不管警卫的结果如何.
另一个例子,其中替代结构更难以阅读和修改:
block: if(/* guard */) {
// prep work
if(/* guard */) {
break block;
}
// prep work
if(/* guard */) {
break block;
}
// real work
}
虽然通常我使用裸块而不是if.