作者:黎跃春,区块链、高可用架构工程师
微信:liyc1215 QQ群:348924182 博客:http://liyuechun.org
布尔(Booleans)
bool:
可能的取值为常量值true
和false
。
支持的运算符:
!
逻辑非&&
逻辑与||
逻辑或==
等于!=
不等于
备注:运算符&&
和||
是短路运算符,如f(x)||g(y)
,当f(x)
为真时,则不会继续执行g(y)
在f(x)&&g(y)
表达式中,当f(x)
为false
时,则不会执行g(y)
。
bool a = true;
bool b = !a;
// a == b -> false
// a != b -> true
// a || b -> true
// a && b -> false
案例
pragma solidity ^0.4.4;
contract Test {
uint _a;
uint _b;
bool _c;
function Test() {
_a = 100;
_b = 200;
_c = true;
}
// ! 逻辑非
function fei() constant returns (bool) {
return (!_c);
}
// && 逻辑与
// == 等于
function luojiyu() constant returns (bool) {
return _a == _b && _c;
}
// || 逻辑或
// != 不等于
function luojihuo() constant returns (bool) {
return _a != _b || _c;
}
}