大部分JavaScript的控制结构都适用于Solidity
如if,else,while,do,for,break,continue,return,?= ;
圆括号在声明条件时不能够省略,但花括号在仅声明时可以被省略;
但是没有JavaScript里面的从非bool到bool型的类型转换,所以诸如 if (1) {...} 在Solidity里不可以;
源码:
pragma solidity ^0.8.7;
contract IfElse{
function example (uint _x) external pure returns (uint){
if (_x < 10){
return 1;
}else if (_x < 20 ){
return 2;
}else{
return 3;
}
}
function exam (uint _x) external pure returns (uint){
// if (_x < 10){
// return 1;
// }else if (_x < 20 ){
// return 2;
// }else{
// return 3;
// }
return _x < 10 ? 1 : 2;
}
}