什麼是返回一個布爾值(true或false)以及返回負值布爾真或假,負收益
回答
這取決於你所使用的返回值之間的尊重。
一個是二進制的(成功或失敗)另一個具有可用於錯誤代碼的離散值。我所做的一般是錯誤的負值,成功值爲0,警告值爲正值。
通常在描述進程的成功或失敗時使用布爾值。
某些「成功」(返回true
)或「失敗」(返回false
)。
某些函數(如socket()
)會返回一個「套接字描述符」,它是一個正值。在這種情況下,報告出現問題的一種方法是返回超出有效範圍的值,因此爲負值。
但是,請記住,這不是一個絕對的事實。一個開發人員可能會決定返回一個錯誤的正值,並返回0以取得成功。 (就像程序退出狀態一樣)。
知道返回值意味着什麼的唯一方法是閱讀文檔。
有時候你想要一個方法根據方法是否成功執行一些代碼來返回true/false。
但是,您可能需要關於方法失敗原因的更多詳細信息,但不能拋出異常(例如,該語言沒有例外)。在這種情況下,您可以返回一個整數值作爲一種錯誤代碼。
您正在返回一個可能有2個可能輸出的類型的值。
另一個你正在返回一個類型的值,可以有更多的可能產出。
順便說一句,在大多數編程語言中,0被認爲是錯誤的,其他所有事情都被認爲是真實的。我認爲你認爲在大多數語言中任何負面都會被認爲是錯誤的。
您可能想要返回一些不同的負數,例如針對不同的錯誤代碼。或者你可能只是有一個通過/失敗的唯一標準。你可以使用布爾型或整型返回類型,具體取決於你有哪些場景。
是的你的權利,因爲我看到許多代碼返回負面,有時正面,所以這讓我困惑 – Fiasco 2010-06-11 14:13:26
- 當您的 方法僅返回yes/no時,使用布爾值返回值。
- 當您需要指示 以外的其他內容時,請使用數字,除了成功完成 。
如果你需要一個布爾結果,如果你需要一個整數,返回一個布爾(卡車),返回一個整數(蘋果)。 例如,在JavaScript,你可以做
var ret = 0;
if (ret){//is ret true?
alert('Never gets here');
}
if (!ret){//is ret false?
alert('I will popup');
}
但如果你真的需要測試一個布爾值,你必須做到:
var ret = 0;
if (ret === true){//if it is true AND boolean
alert('Never gets here');
}
var ret = false;
if (ret === false){//if it is false AND boolean
alert('I will popup');
}
如果你想要兩個以上的返回碼(真/假)那麼你將不得不返回一個整數。在C++中,BOOL的int類型定義爲int,這意味着您可以使用BOOL作爲返回類型,對於返回值,使用TRUE和FALSE,如果您願意,可以使用-1。 BOOL,TRUE和FALSE的typedefs只是爲了提高代碼的可讀性,但它只是返回一個int。
你可能更願意使用一個「出」參數,例如:
public bool MyFunction(object input, out int status) {...}
使他們成功/失敗的功能,你可以有真或假,以及有關的任何其他信息的居留制變量發生了什麼事。
- 1. 布爾,真,真,真如何假?
- 2. JavaScript布爾真正變成假,假不變真
- 3. 整潔的代碼轉換布爾[] - >「假,真,真,假」
- 4. AngularJS篩選布爾真或假或全部
- 5. 確實c具有布爾(真/假)
- 6. 的Javascript布爾真/假速記jQuery中
- 7. 使用布爾真/假與JOptionPane.YES_NO_OPTION
- 8. 服務器響應集布爾真/假
- 9. @ Html.LabelFor爲布爾正顯示出真假
- 10. 布爾邏輯的使用:和/或與真/假
- 11. 計算布爾數組中真(或假)元素的數量?
- 12. 如何檢查真或假的目標C布爾變量
- 13. 布爾輸出是205而不是真或假
- 14. 讓一個布爾在Django中保持真或假
- 15. PHP真或假
- 16. rails_admin變化布爾默認圖標真假,而不是字符串「真」和「假」
- 17. 布爾邏輯在紅寶石'真假'真'
- 18. 通過真或假
- 19. 如果(布爾==假)與IF(布爾!)
- 20. 爲什麼'真或假'比'假或真'更快?
- 21. SQL布爾真值測試:零或空
- 22. 三元運算符評估爲真如果字符串或假如果布爾
- 23. 使用什麼:布爾變量替代或空值真/假識別
- 24. 的JavaScript字符串轉換成「真」或「假」布爾並返回true
- 25. 如何查詢字段MongoDB中有一個布爾值,其是否真或假
- 26. java單例布爾表達式返回消息而不是真或假
- 27. 二元搜索給我錯誤說強迫值布爾'真'或'假'
- 28. 的WebPack優化減少收益布爾型,出廠時未
- 29. 搜索頁面 - 布爾值 - 如何搜索真/假/兩者?
- 30. Kendo ui grid不理解1/0作爲布爾真/假
這取決於你的語言。 – ChrisF 2010-06-11 14:02:47
駕駛卡車或吃蘋果有什麼區別? – ereOn 2010-06-11 14:02:58
正是你(OP)所說的:它是返回一個bool(true或false)和返回一個負值*之間的區別。 – 2010-06-11 14:04:06