Solidityでwhile文/do-while文を書く方法について解説します。
構文
Solidityでwhile文/do-while文を書くには、それぞれ、以下のようにします。
while文
while文を書くには、以下のようにします。
while(条件) {
    処理
}do-while文
do-while文を書くには、以下のようにします。
while文とは異なり、実行が先(ループ条件に関わらずdo句の処理が実行される)で、その後またループ条件の判定を経てループが回る(do句の処理が実行される)、といった形となります。
do {
    処理
} while(条件);サンプルコード
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
    uint[] numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    function testWhileLoop() public view returns(uint) {
        uint sum = 0;
        uint8 i = 0;
        // while文(条件が満たされる限りループ)
        while(i < numbers.length) {
            sum += numbers[i];
            i++;
        }
        return sum;
    }
    function testDoWhileLoop() public view returns(uint) {
        uint sum = 0;
        uint8 i = 0;
        // do-while文(実行が先、その後は条件が満たされる限りループ)
        do {
            sum += numbers[i];
            i++;
        } while(i < numbers.length);
        return sum;
    }
}
for文と同様、while文/do-while文の使い方も他のプログラミング言語と同じですね。配列と併せておさえておきましょう。
 
  
  
  
  