Rust 循环 | 菜鸟教程


本站和网页 https://www.runoob.com/rust/rust-loop.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Rust 循环 | 菜鸟教程
菜鸟教程 -- 学的不仅是技术,更是梦想!
首页
HTML
CSS
JavaScript
Vue
Bootstrap
NodeJS
Python3
Python2
Java
C++
C#
Go
SQL
Linux
jQuery
本地书签
首页
HTML
CSS
JS
本地书签
Search
Python3 教程
Python2 教程
Vue3 教程
vue2 教程
Bootstrap3 教程
Bootstrap4 教程
Bootstrap5 教程
Bootstrap2 教程
Rust 教程
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 所有权
Rust 循环
Rust 除了灵活的条件语句以外,循环结构的设计也十分成熟。这一点作为身经百战的开发者应该能感觉出来。
while 循环
while 循环是最典型的条件语句循环:
实例
fn main() {
let mut number = 1;
while number != 4 {
println!("{}", number);
number += 1;
}
println!("EXIT");
}
运行结果:
EXIT
Rust 语言到此教程编撰之日还没有 do-while 的用法,但是 do 被规定为保留字,也许以后的版本中会用到。
在 C 语言中 for 循环使用三元语句控制循环,但是 Rust 中没有这种用法,需要用 while 循环来代替:
C 语言
int i;
for &#40;i = 0; i < 10; i++&#41; &#123;
// 循环体
&#125;
Rust
let mut i = 0;
while i < 10 &#123;
// 循环体
i += 1;
&#125;
for 循环
for 循环是最常用的循环结构,常用来遍历一个线性数据结构(比如数组)。for 循环遍历数组:
实例
fn main&#40;&#41; &#123;
let a = &#91;10, 20, 30, 40, 50&#93;;
for i in a.iter&#40;&#41; &#123;
println!&#40;"值为 : {}", i&#41;;
&#125;
&#125;
运行结果:
值为 : 10
值为 : 20
值为 : 30
值为 : 40
值为 : 50
这个程序中的 for 循环完成了对数组 a 的遍历。a.iter() 代表 a 的迭代器(iterator),在学习有关于对象的章节以前不做赘述。
当然,for 循环其实是可以通过下标来访问数组的:
实例
fn main&#40;&#41; &#123;
let a = &#91;10, 20, 30, 40, 50&#93;;
for i in 0..5 &#123;
println!&#40;"a[{}] = {}", i, a&#91;i&#93;&#41;;
&#125;
&#125;
运行结果:
a[0] = 10
a[1] = 20
a[2] = 30
a[3] = 40
a[4] = 50
loop 循环
身经百战的开发者一定遇到过几次这样的情况:某个循环无法在开头和结尾判断是否继续进行循环,必须在循环体中间某处控制循环的进行。如果遇到这种情况,我们经常会在一个 while (true) 循环体里实现中途退出循环的操作。
Rust 语言有原生的无限循环结构 —— loop:
实例
fn main&#40;&#41; &#123;
let s = &#91;'R', 'U', 'N', 'O', 'O', 'B'&#93;;
let mut i = 0;
loop &#123;
let ch = s&#91;i&#93;;
if ch == 'O' &#123;
break;
&#125;
println!&#40;"\'{}\'", ch&#41;;
i += 1;
&#125;
&#125;
运行结果:
'R'
'U'
'N'
loop 循环可以通过 break 关键字类似于 return 一样使整个循环退出并给予外部一个返回值。这是一个十分巧妙的设计,因为 loop 这样的循环常被用来当作查找工具使用,如果找到了某个东西当然要将这个结果交出去:
实例
fn main&#40;&#41; &#123;
let s = &#91;'R', 'U', 'N', 'O', 'O', 'B'&#93;;
let mut i = 0;
let location = loop &#123;
let ch = s&#91;i&#93;;
if ch == 'O' &#123;
break i;
&#125;
i += 1;
&#125;;
println!&#40;" \'O\' 的索引为 {}", location&#41;;
&#125;
运行结果:
'O' 的索引为 3
Rust 条件语句
Rust 所有权
点我分享笔记
取消
分享笔记
昵称昵称 (必填)
邮箱邮箱 (必填)
引用地址引用地址
分类导航
HTML / CSSHTML 教程HTML5 教程CSS 教程CSS3 教程Bootstrap3 教程Bootstrap4 教程Bootstrap5 教程Font Awesome 教程Foundation 教程 JavaScriptJavaScript 教程HTML DOM 教程jQuery 教程AngularJS 教程AngularJS2 教程Vue.js 教程Vue3 教程React 教程TypeScript 教程jQuery UI 教程jQuery EasyUI 教程Node.js 教程AJAX 教程JSON 教程Echarts 教程Chart.js 教程Highcharts 教程Google 地图 教程 服务端Python 教程Python2.x 教程Linux 教程Docker 教程Ruby 教程Java 教程C 教程C++ 教程Perl 教程Servlet 教程JSP 教程Lua 教程Rust 教程Scala 教程Go 教程PHP 教程数据结构与算法Django 教程FastAPI 教程Zookeeper 教程设计模式正则表达式Maven 教程Verilog 教程ASP 教程AppML 教程VBScript 教程 数据库SQL 教程MySQL 教程PostgreSQL 教程SQLite 教程MongoDB 教程Redis 教程Memcached 教程 数据分析Python 教程NumPy 教程Pandas 教程Matplotlib 教程Scipy 教程R 教程Julia 教程 移动端Android 教程Swift 教程jQuery Mobile 教程ionic 教程Kotlin 教程 XML 教程XML 教程DTD 教程XML DOM 教程XSLT 教程XPath 教程XQuery 教程XLink 教程XPointer 教程XML Schema 教程XSL-FO 教程SVG 教程 ASP.NETASP.NET 教程C# 教程Web Pages 教程Razor 教程MVC 教程Web Forms 教程 Web ServiceWeb Service 教程WSDL 教程SOAP 教程RSS 教程RDF 教程 开发工具Eclipse 教程Git 教程Svn 教程Markdown 教程 网站建设HTTP 教程网站建设指南浏览器信息网站主机教程TCP/IP 教程W3C 教程网站品质
Advertisement
反馈/建议
在线实例
&middot;HTML 实例
&middot;CSS 实例
&middot;JavaScript 实例
&middot;Ajax 实例
&middot;jQuery 实例
&middot;XML 实例
&middot;Java 实例
字符集&工具
&middot; HTML 字符集设置
&middot; HTML ASCII 字符集
&middot; JS 混淆/加密
&middot; PNG/JPEG 图片压缩
&middot; HTML 拾色器
&middot; JSON 格式化工具
&middot; 随机数生成器
最新更新
&middot;
13.5k star, 免...
&middot;
Rust 宏
&middot;
Seaborn 教程
&middot;
Pandas 相关性分析
&middot;
31.2k star, 免...
&middot;
Dev Home &#8212...
&middot;
免费开源的 AI ...
站点信息
&middot;
意见反馈
&middot;
免责声明
&middot;
关于我们
&middot;
文章归档
关注微信
Copyright 2013-2024 菜鸟教程
runoob.com All Rights Reserved. 备案号:闽ICP备15012807号-1
微信关注