首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Rust简介
Rust 环境搭建
Cargo 教程
Rust 输出到命令行
Rust 基础语法
Rust 数据类型
Rust 注释
Rust 函数
Rust 条件语句
Rust 循环
Rust 所有权
Rust Slice(切片)类型
Rust 结构体
Rust 枚举类
Rust 组织管理
Rust错误处理
Rust 泛型与特性
Rust 生命周期
Rust 文件与 IO
Rust 集合与字符串
Rust 面向对象
Rust 并发编程
当前位置:
首页>>
技术小册>>
Rust入门教程
小册名称:Rust入门教程
Rust 除了灵活的条件语句以外,循环结构的设计也十分成熟。这一点作为身经百战的开发者应该能感觉出来。 ###while 循环 while 循环是最典型的条件语句循环: 实例 ``` fn main() { let mut number = 1; while number != 4 { println!("{}", number); number += 1; } println!("EXIT"); } ``` 运行结果: ``` 1 2 3 ``` ###EXIT Rust 语言到此教程编撰之日还没有 do-while 的用法,但是 do 被规定为保留字,也许以后的版本中会用到。 在 C 语言中 for 循环使用三元语句控制循环,但是 Rust 中没有这种用法,需要用 while 循环来代替: C 语言 ``` int i; for (i = 0; i < 10; i++) { // 循环体 } ``` Rust ``` let mut i = 0; while i < 10 { // 循环体 i += 1; } ``` ###for 循环 for 循环是最常用的循环结构,常用来遍历一个线性数据结构(比如数组)。for 循环遍历数组: 实例 ``` fn main() { let a = [10, 20, 30, 40, 50]; for i in a.iter() { println!("值为 : {}", i); } } ``` 运行结果: ``` 值为 : 10 值为 : 20 值为 : 30 值为 : 40 值为 : 50 ``` 这个程序中的 for 循环完成了对数组 a 的遍历。a.iter() 代表 a 的迭代器(iterator),在学习有关于对象的章节以前不做赘述。 当然,for 循环其实是可以通过下标来访问数组的: 实例 ``` fn main() { let a = [10, 20, 30, 40, 50]; for i in 0..5 { println!("a[{}] = {}", i, a[i]); } }``` 运行结果: ``` a[0] = 10 a[1] = 20 a[2] = 30 a[3] = 40 a[4] = 50 ``` ###loop 循环 身经百战的开发者一定遇到过几次这样的情况:某个循环无法在开头和结尾判断是否继续进行循环,必须在循环体中间某处控制循环的进行。如果遇到这种情况,我们经常会在一个 while (true) 循环体里实现中途退出循环的操作。 Rust 语言有原生的无限循环结构 —— loop: 实例 ``` fn main() { let s = ['R', 'U', 'N', 'O', 'O', 'B']; let mut i = 0; loop { let ch = s[i]; if ch == 'O' { break; } println!("\'{}\'", ch); i += 1; } } ``` 运行结果: ``` 'R' 'U' 'N' ``` loop 循环可以通过 break 关键字类似于 return 一样使整个循环退出并给予外部一个返回值。这是一个十分巧妙的设计,因为 loop 这样的循环常被用来当作查找工具使用,如果找到了某个东西当然要将这个结果交出去: 实例 ``` fn main() { let s = ['R', 'U', 'N', 'O', 'O', 'B']; let mut i = 0; let location = loop { let ch = s[i]; if ch == 'O' { break i; } i += 1; }; println!(" \'O\' 的索引为 {}", location); } ``` 运行结果: ``` 'O' 的索引为 3 ```
上一篇:
Rust 条件语句
下一篇:
Rust 所有权
该分类下的相关小册推荐:
暂无相关推荐.