if-else
solidity中的if-else与js类似,也支持三元运算
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
contract IfElse {
function example(uint _val) external pure returns(string memory size) {
if (_val > 100) {
return 'big';
}else if (_val > 50) {
return 'middle';
}else {
return 'small';
}
}
function example1(uint _val) external pure returns(uint) {
return _val > 10 ? 2 : 1;
}
}
for循环
function forLoops(uint _val) external pure returns(uint) {
uint sum = 0;
for(uint i=0; i<=_val; i++) {
sum += i;
}
return sum;
}
while循环
function whileLoops(uint _val) external pure returns(uint) {
uint sum = 0;
uint i = 0;
while(i <= _val) {
sum += i;
i++;
}
return sum;
}
do-while循环
function doWhileLoops(uint _val) external pure returns(uint) {
uint sum = 0;
uint i = 0;
do {
sum += i;
i++;
} while (i <= _val);
return sum;
}
break跳出循环
function dieLoops() external pure returns (uint) {
uint sum = 0;
while(true) {
sum ++;
if (sum > 100) {
break;
}
}
return sum;
}
solidity中不支持死循环,支持continue和break中断循环