三元運算子:替代賦值還是冗餘程式碼?
考慮以下程式碼片段:
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
是嗎可以使用三元運算子重構它嗎?
Java 中的三元運算子具有以下語法:
return_value = (true-false condition) ? (if true expression) : (if false expression);
如果條件為 true,則計算問號 (!) 後面的表達式並將其指派給回傳值。否則,對冒號 (:) 後面的表達式進行求值並賦值。
在給定的程式碼中,if-else 語句檢查字串變數是否不為 null,如果為 true,則呼叫函數。我們可以假設兩個可能的情況:
callFunction()有一個非空回傳值:
在這種情況下,我們可以使用三元運算子作為如下:
return_value = (string != null) ? callFunction(parameters) : null;
需要注意的是,三元運算子用於替代賦值。在給定的程式碼中,true 子句呼叫一個函數,該函數不直接賦值。因此,在這裡使用三元運算子是沒有意義的。
相反,如果目標是將程式碼簡化為單行程式碼,則可以考慮以下選項:
刪除 false子句,因為它是不必要的:
if (string != null) { callFunction(parameters); }
使用單行語法:
if (string != null) callFunction(parameters);
以上是三元運算子:您應該將其用於函數呼叫嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!