从 loop 循环中返回

loop 有个用途是尝试一个操作直到成功为止。若操作返回一个值,则可能需要将其传递给代码的其余部分:将该值放在 break 之后,并由 loop 表达式返回。

1. fn main() {
2. let mut counter = 0;

4. let result = loop {
5. counter += 1;

7. if counter == 10 {
8. break counter * 2;
9. }
10. };

12. assert_eq!(result, 20);
13. }