我刚刚发现我可以为 For 和 While 语句命名。我知道如果您想中断或继续特定循环,它很有用。
但我为什么要给 If 起个名字呢?看起来没什么用
name: if(true){
//do something
}
这样编译没有问题
如果你有一个带有名称的代码块,你可以使用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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)