// 結構 1:互斥分支(類似 switch)
if (cond1) { } else if (cond2) { } else if (cond3) { } else { }
// 結構 2:獨立順序判斷
if (cond1) { } if (cond2) { } if (cond3) { } else { } // 此 else 僅屬於第三個 if
| 特性 | if-else if 鏈 | 多獨立 if |
|---|---|---|
| 執行邏輯 | 條件互斥,命中一個後跳過其餘 | 每個條件獨立判斷,可多次命中 |
| 適用場景 | 同一變量的多值判斷(如狀態碼、枚舉) | 多條件獨立檢查(如參數校驗、守衛子句) |
| 性能 | 平均判斷次數少 | 總是判斷所有條件 |
| else 綁定 | 屬於整個鏈的最後兜底 | 僅屬於緊前的那個 if |
if (!valid) return ERROR;else,極易誤讀;改用 if (!cond) { ... } 明確意圖。