Solidity - While、Do-While 和 For 循环2025年6月2日 | 阅读6分钟 在任何编程语言中,循环都扮演着重要的角色。 它们重复执行任何操作,直到满足条件。 在 Solidity 中,循环用于重复执行编程动作,以及减少代码行数。 在本教程中,我们将详细介绍各种循环,如 while、do-while 和 For 循环,以及它们的语法和编程示例。 While 循环这是 Solidity 中常用的循环。 它的目的是重复执行代码行或语句块,直到满足给定的条件。 一旦指定的条件返回 false,循环就会停止。 语法Solidity 中 while 循环的流程图下图代表 Solidity 中 While 循环的流程图 ![]() 该条件表示一个表达式,在循环的每次迭代之前进行评估。 如果条件评估为 true,则执行循环内的代码。 执行循环内的代码后,再次评估该条件,循环继续,直到条件变为 false。 程序 1:在下面的示例中,我们声明了一个名为 whileLoopExample 的智能合约,以演示 while 循环的概念以及如何在 Solidity 中使用它。 输出 ![]() 说明 我们创建了一个名为 while loop example 的智能合约。 我们还声明了一个动态数组和一个状态变量。 接下来,我们定义了一个函数来利用 while 循环。 我们传递的逻辑是,如果 x 小于 10,则 x 的值将递增。 一旦 x 等于 10,while 循环将终止。 因此,智能合约将返回 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 的输出。 Do-While 循环顾名思义,do-while 循环类似于 while 循环,但有一个小区别:在 do-while 循环中,条件检查发生在循环的末尾,这意味着循环将始终至少执行一次,即使条件为 false。 语法 Solidity 中 Do-While 循环的流程图下图代表 Solidity 中 Do-While 循环的流程图 ![]() 程序 1:在下面的示例中,我们声明了一个名为 doWhileLoopExample 的智能合约,以演示 do while 循环的概念以及如何在 Solidity 中使用它。 输出 ![]() 说明 我们创建了一个名为 doWhileLoopExample 的智能合约。 我们还声明了一个动态数组和一个状态变量。 接下来,我们定义了一个函数来利用 do while 循环。 该函数将递增 x 的值并将其放入数组中。 之后,它将检查条件,如果 x < 5,则该函数将被执行,否则将被终止。 因此,循环将运行 5 次,并将返回一个输出 {1,2,3,4,5}。 程序 2:在下面的示例中,我们声明了一个名为 doWhileLoopExample 的智能合约,以演示 do while 循环的概念以及如何在 Solidity 中使用它。 输出 ![]() 说明 此合约是上述程序的更新版本。 我们创建了一个名为 doWhileLoopExample2 的智能合约。 我们还声明了一个动态数组,并将变量初始化为值 5。由于在 do while 循环中,条件检查发生在循环的末尾,这意味着循环将始终至少执行一次,即使条件为 false。 因此,循环只会运行 1 次,并将返回一个输出 {6}。 For 循环FOR 循环是任何编程语言中最紧凑的循环方式之一。 此循环重复执行任何操作,直到满足测试条件。 For 循环采用三个参数,即循环初始化、测试语句和迭代语句,每个参数之间用分号分隔。 在第一个参数中,指定使用起始值初始化的迭代器; 此语句在循环开始之前执行。 第二个参数代表“测试条件”,用于验证条件是否满足; 如果条件为 true,则将执行 for 循环; 一旦它返回 false,循环就会终止。 第三个参数表示迭代器是否应该增加或减少。 语法 Solidity 中 FOR 循环的流程图下图代表 Solidity 中 FOR 循环的流程图 ![]() 示例 1:在下面的示例中,contract Types 演示了 while 循环的执行以及如何使用 while 循环初始化数组。 输出 ![]() 说明 我们创建了一个名为 ForLoopExample1 的智能合约。 我们还声明了一个动态数组 arr。 接下来,我们定义了一个函数来利用 for 循环。 该函数将运行一个 for 循环,其中我们使用 0 初始化变量 I; 它将检查 i<10; 如果满足条件,它将递增 i 的值并将其放入数组中。 因此,循环将运行 9 次,并将返回一个输出 {1,2,3,4,5, 6, 7, 8, 9}。 程序 2:在下面的示例中,我们声明了一个名为 whileForLoopExample 的智能合约,以演示在程序中一起使用 for 和 while 循环的概念。 结论循环是 Solidity 中不可或缺的一部分。 它们使您可以自由地重复运行任何条件,除非不满足这些条件。 在本教程中,我们详细介绍了 while、do while 和 for 循环的所有细节以及实际示例。 为了熟练掌握,请继续练习,这样您就可以牢固掌握循环。 |
我们请求您订阅我们的新闻通讯以获取最新更新。