这篇文章介绍了Solidity编程语言中的for
循环,提供了示例代码来演示如何计算从1到99的数字之和,并展示如何使用+=
运算符。文章还讨论了循环的退出条件和找素因子的示例,适合初学者理解基本的循环结构和功能。
就像 if
语句一样,for
循环也没有什么令人惊讶的地方。以下是将 1 到 99 的所有数字相加的代码:
contract ExampleContract {
function addNumbers()
public
pure
returns (uint256) {
uint256 sum = 0;
for (uint256 i = 0; i < 100; i++) {
sum = sum + i;
}
return sum;
}
}
如果你更喜欢这种方式,Solidity 也支持 +=
运算符。
contract ExampleContract {
function addNumbers()
public
pure
returns (uint256) {
uint256 sum = 0;
for (uint256 i = 0; i < 100; i++) {
sum += i;
}
return sum;
}
}
Solidity 也有 while
循环和 do while
循环,但由于它们很少被使用,目前不值得提及。
for
循环的一个非常自然的用例是遍历数组。但我们还没有介绍数组,所以我们会在那时解释它。
与其他语言一样,你可以在 for
循环内部提前从函数中返回。以下代码将从 2 开始循环,直到找到质因数。
contract ExampleContract {
function findPrimeFactor(uint256 x)
public
pure
returns (uint256) {
// 从 2 开始,1 不是质因数
// 使用 <= 因为 x 可能是质数
for (uint256 i = 2; i <= x; i++) {
if (x % i == 0) {
return i;
}
}
}
}
练习题目
请查看 区块链培训营,了解更多关于智能合约开发和代币标准的内容。
- 原文链接: rareskills.io/learn-soli...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!