什么是返回一个布尔值(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