Move语言 break continue
Move语言提供continue
和 break
关键字,允许程序跳过一轮循环或中断循环。
例如,我们在 loop
中添加两个条件,如果 i 是偶数,我们通过 continue
跳转到下一个迭代,而无需执行循环中 continue
之后的代码。当 i 等于 5 时,我们通过 break 停止迭代并退出循环。
script { fun main() { let i = 0; loop { i = i + 1; if (i / 2 == 0) continue; if (i == 5) break; // assume we do something here }; 0x1::Debug::print<u8>(&i); } }
注意,如果 break 和 continue 是代码块中的最后一个关键字,则不能在其后加分号,因为后面的任何代码都不会被执行。请看这个例子:
script { fun main() { let i = 0; loop { i = i + 1; if (i == 5) { break; // will result in compiler error. correct is `break` without semi // Error: Unreachable code }; // same with continue here: no semi, never; if (true) { continue }; // however you can put semi like this, because continue and break here // are single expressions, hence they "end their own scope" if (true) continue; if (i == 5) break; } } }
Move语言还提供了关键字 abort 和 assert,用于控制程序的执行。 有条件退出 abort有时,当某些条件失败时,您需要中止程序的执行。对于这种情况,Move 提供了有 ...