Solidity – 决策声明
当我们必须为程序流采用一组给定路径中的一个时,就会使用编程中的决策。为此,使用了条件语句,允许程序在条件满足时执行代码。 Solidity 使用控制语句来控制程序的执行流程,以推进和基于分支的状态更改。 Solidity 提供了以下条件语句。
如果语句
这是最基本的条件语句。它用于决定是否执行语句或代码块。如果条件为真,则将执行语句,否则将不执行任何语句。
句法:
if (condition) {
statement or block of code to be executed if the condition is True
}
示例:在下面的示例中,合约类型声明了一个无符号整数状态变量和一个函数来演示if 语句的执行。
Solidity
// Solidity program to
// demonstrate the
// use of 'if statement'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring state variable
uint i = 10;
// Defining function to
// demonstrate use of
// 'if statement'
function decision_making(
) public returns(bool){
if(i<10){
return true;
}
}
}
Solidity
// Solidity program to
// demonstrate the use of
// 'if...else' statement
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring state variables
uint i = 10;
bool even;
// Defining function to
// demonstrate the use of
// 'if...else statement'
function decision_making(
) public payable returns(bool){
if(i%2 == 0){
even = true;
}
else{
even = false;
}
return even;
}
}
Solidity
// Solidity program to
// demonstrate the use
// of 'if-else if-else statement'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring state variables
uint i = 10;
string result;
// Defining function to
// demonstrate the use
// of 'if...else if...else
// statement'
function decision_making(
) public returns(string memory){
if(i<10){
result = "less than 10";
}
else if(i == 10){
result = "equal to 10";
}
else{
result = "greater than 10";
}
return result;
}
}
输出 :
if...else 语句
该语句是条件语句的下一种形式,它允许程序以更受控制的方式执行。这里如果条件为真,则执行 if 块,如果条件为假,则执行 else 块。
句法:
if (condition) {
statement or block of code to be executed if condition is True
} else {
statement or block of code to be executed if condition is False
}
示例:在下面的示例中,合约类型声明了状态变量和一个函数来演示if-else 语句的执行。
坚固性
// Solidity program to
// demonstrate the use of
// 'if...else' statement
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring state variables
uint i = 10;
bool even;
// Defining function to
// demonstrate the use of
// 'if...else statement'
function decision_making(
) public payable returns(bool){
if(i%2 == 0){
even = true;
}
else{
even = false;
}
return even;
}
}
输出 :
if…else if…else 语句
这是 if…else 条件语句的修改形式,用于在多个选项中做出决定。语句从 if 语句开始执行,如果任何 if 块的条件为真,则执行与其关联的代码块,并跳过 rest if,如果条件都不为真,则执行 else 块。
句法:
if (condition) {
statement or block of code to be executed if the condition is True
} else if (condition 2) {
statement or block of code to be executed if the condition of else...if is True
} else {
statement or block of code to be executed if none of the condition is True
}
示例:在下面的示例中,合约类型声明了一个无符号整数状态变量和一个函数来演示 if-else if-else 语句的执行。
坚固性
// Solidity program to
// demonstrate the use
// of 'if-else if-else statement'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring state variables
uint i = 10;
string result;
// Defining function to
// demonstrate the use
// of 'if...else if...else
// statement'
function decision_making(
) public returns(string memory){
if(i<10){
result = "less than 10";
}
else if(i == 10){
result = "equal to 10";
}
else{
result = "greater than 10";
}
return result;
}
}
输出 :