do{}while(false)的用法
阿新 • • 發佈:2020-10-14
do{}while(false):
在工作中我們能經常發現有人寫do{}while(false) 這樣的程式碼,初看時讓人迷惑不解,按照上面的語法do{}while(false)這樣 do{} 裡面的程式碼只會執行一次的啊,那麼問題來了,為什麼要這樣寫?
試想,我們在工作中是不是經常會遇到一種情況:第二個判斷需要依賴第一個判斷的結果,甚至第三個判斷需要依賴第二個判斷的結果。如下樣式的程式碼:
if (one == true) { if (two == true) { if (three == true) {//第三個依賴第二個判斷結果,第二個依賴第一個判斷結果。 //... } } }
那這樣的程式碼是不是看起來好惡心,各種判斷巢狀在一起,很是不容易理清程式碼邏輯,而且很容易出錯。那有沒有一種清爽的程式碼風格來解決這個問題呢?答案肯定是有的,就是我們上面提到do{}while(false) 。
那要如何用程式碼實現呢,請看下面的程式碼示例:
do { if (one == false) { break; } if (two == false) { break; } if (three == false) { break; } } while (false);
既然後面的判斷依賴前面的判斷結果,那麼所有的條件都去判斷是否等於false,等於false的直接break跳出do while 迴圈。這樣的程式碼風格是不是比剛才那種寫法清爽多了。
結論:
do{}while(false)最大意義是:簡化if else 的巢狀結構判斷邏輯。