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