在一個布爾函數中的switch語句中,我有這個。我是否加入休息或是否暗示我在這方面非常糟糕。你是否需要在返回false後中斷
case Stop:
default:
return false;
//break;??????
在一個布爾函數中的switch語句中,我有這個。我是否加入休息或是否暗示我在這方面非常糟糕。你是否需要在返回false後中斷
case Stop:
default:
return false;
//break;??????
不,如果您從default
返回,則不需要case break語句。
只有在您想要操作的所有情況以及停止開關的工作之後,您必須添加break語句,否則默認操作將從函數返回。
我會將此改進爲「如果您從任何情況下返回」。 – 2012-01-31 08:54:25
是的,當然。 – 2012-01-31 08:55:32
它不是「隱含」,但由於代碼將永遠不會到達那裏,所以您不必編寫break;
。
這只是多餘的,return
就足夠了。
因爲return
將是該函數中執行的最後一個語句,所以不需要中斷。
如果程序執行前有return語句,程序執行永遠不會到達break語句。
返回後程序將不會到達中斷,因此您可以從中刪除語句。
由於'default'通常是交換機中的最後一種情況,所以'break'變成雙重冗餘。由於返回而無法訪問,無論如何,作爲「switch」中最後一件事的「break」只是跳到了同樣的地方,無論如何你會「掉出去」,在'之開關。但是不管它是否做任何事情,一些風格指南都希望每個case都有一個'break'或者至少有一個評論說'fall through',這是因爲人們很容易忘記'break'時這是必需的。 – 2012-01-31 09:48:02
@SteveJessop,當然'default'不需要在switch語句中最後一個。而且,由於許多人無論出於何種原因只是在'switch'的末尾添加新的'case'語句,這似乎是一個很好的預防措施,不會讓最終的案例/默認最終落空。 – 2012-01-31 11:31:41