📜  Solidity – 决策声明

📅  最后修改于: 2022-05-13 01:55:09.530000             🧑  作者: Mango

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 语句输出

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…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;
    }
      
}

输出 :

if...else if...else 语句输出