Solidity - Break 和 Continue 语句

2025 年 5 月 27 日 | 阅读 5 分钟

控制语句是每种编程语言都支持的一种方法,包括 Solidity,用于改变代码的执行。 break 和 continue 语句用于终止任何循环,而无需检查循环语句的条件是否满足。 这是一种终止循环或 switch 语句的快捷方式,或者跳过程序的某些部分并开始新的迭代。 默认情况下,Solidity 提供了两个控制语句来处理智能合约的执行。

  1. Break 语句
  2. Continue 语句

在本教程中,我们将详细讨论这两个语句,以及它们的实现、语法、示例和使用的要点。

Break 语句

顾名思义,Solidity 中的 Break 语句用于用户想要终止循环,或者跳过程序的某些部分并开始新的迭代时。 在 break 语句之后,控制权传递给 break 之后的语句。 在嵌套循环中,break 语句仅终止包含 break 语句的那些循环函数。

程序 1:在下面的示例中,我们声明了一个名为 breakStatementExample 的智能合约,其中包含一个动态数组、一个语句和一个名为 return_value 的函数,以演示 Break 语句的概念以及它在 Solidity 中的使用方式。

输出

Solidity - Break and Continue Statements

说明

在上面的代码中,我们创建了一个名为 breakStatementExample 的合约。 接下来,声明一个动态数组 'arr' 并使用 0 初始化一个静态变量 x。 我们调用了一个包含 while 循环的函数,其条件为 x>5。 这意味着如果 x 大于 5,循环将终止,否则继续。 在每次迭代中,x 的值将递增并添加到数组中。 现在,如果 x ==3,则将执行 break 语句,循环将退出,跳过所有其他迭代。 因此,上面的程序将返回一个包含 {1,2} 作为输出的数组。

Continue 语句

continue 语句与 break 语句相反。 当程序员想要跳过程序的几行并立即开始循环的下一次迭代时,它在 solidity 中使用。 一旦 continue 语句在您的 solidity 程序中执行,程序的控制权将转移到循环检查条件,如果条件满足,则 continue 语句会跳过该循环并开始下一次迭代。

示例 1:在下面的程序中,我们声明了一个合约,命名为 continueStatementExample,它包含一个动态数组,一条语句和一个名为 return_value 的函数。 我们利用 while 循环来展示 continue 语句在 solidity 中的概念。

输出

Solidity - Break and Continue Statements

说明

在上面的代码中,我们创建了一个名为 continueStatementExample 的合约。 接下来,声明一个动态数组 'arr' 并使用 0 初始化一个静态变量 x。 我们调用了一个包含 while 循环的函数,其条件为 x>5。 这意味着如果 x 大于 5,循环将终止,否则继续。 在每次迭代中,x 的值将递增并添加到数组中。 现在,如果 x ==2,则将执行 continue 语句,它将跳过当前迭代,并继续循环的其余部分。 因此,值 2 不会被添加到数组中,上面的程序将返回 {1,3,4,5} 作为输出。

程序 2:在下面的示例中,我们声明了一个智能合约,以演示 Break 语句和 continue 语句的概念,以及它如何在 Solidity 中使用。

输出

Solidity - Break and Continue Statements

说明

上面的程序展示了如何在 solidity 中一起使用 Continue 和 Break 语句。 我们创建了一个智能合约并声明了我们的动态数组 'arr'。 此数组稍后将用于存储数据。 此外,我们调用了一个函数并初始化了一个 for 循环来迭代数字。 变量 'i' 从 1 开始,将增加 'i' 的值,直到 'i<=10'。 接下来,我们使用 'if' 条件创建了一个条件。 如果 'i' 是一个偶数 (i%2==0,即 i/2 返回零作为余数),则该数字将被跳过,循环将进一步迭代。 因此,它将跳过所有偶数。 最后,它将检查另一个条件; 如果 i==7,它将中断循环并终止程序。 返回结果数组为 {1, 3, 5, 7}。

结论

Break 和 continue 语句是循环不可或缺的一部分。 它们让您可以自由地终止或继续任何循环,而无需检查循环语句的条件是否满足。 在本教程中,我们已经涵盖了所有细节以及实际示例。 要精通,请继续练习,这样您就可以很好地掌握循环。


下一个主题Solidity-注释