Solidity - if...else if... 语句
if...else if...语句是if...else的高级形式,它允许Solidity根据多种条件做出正确的决定 .
语法
if-else-if 语句的语法如下 −
if (expression 1) {
Statement(s) to be executed if expression 1 is true
} else if (expression 2) {
Statement(s) to be executed if expression 2 is true
} else if (expression 3) {
Statement(s) to be executed if expression 3 is true
} else {
Statement(s) to be executed if no expression is true
}
这段代码没有什么特别的。 它只是一系列 if 语句,其中每个 if 都是前一个语句的 else 子句的一部分。 语句根据 true 条件执行,如果没有一个条件为 true,则执行 else 块。
示例
pragma solidity ^0.5.0;
contract SolidityTest {
uint storedData; // State variable
constructor() public {
storedData = 10;
}
function getResult() public view returns(string memory) {
uint a = 1;
uint b = 2;
uint c = 3;
uint result
if( a > b && a > c) { // if else statement
result = a;
} else if( b > a && b > c ){
result = b;
} else {
result = c;
}
return integerToString(result);
}
function integerToString(uint _i) internal pure
returns (string memory) {
if (_i == 0) {
return "0";
}
uint j = _i;
uint len;
while (j != 0) {
len++;
j /= 10;
}
bytes memory bstr = new bytes(len);
uint k = len - 1;
while (_i != 0) {
bstr[k--] = byte(uint8(48 + _i % 10));
_i /= 10;
}
return string(bstr);//access local variable
}
}
使用 Solidity First 应用 章节中提供的步骤运行上述程序。
输出
0: string: 3
❮ solidity_decision_making.html

