Rust编程语言入门教程 (七)函数与控制流

Rust 系列

🎀Rust编程语言入门教程(一)安装Rust🚪

🎀Rust编程语言入门教程(二)hello_world🚪

🎀Rust编程语言入门教程(三) Hello Cargo🚪

🎀Rust编程语言入门教程(四)猜数游戏:一次猜测🚪

🎀Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测🚪

🎀Rust编程语言入门教程 (六)变量与可变性🚪

🎀Rust编程语言入门教程 (七)函数与控制流🚪

目录

引言

Rust 是一种现代的系统编程语言,以其内存安全和高性能而闻名。它通过严格的编译时检查和独特的所有权机制,帮助开发者编写安全且高效的代码。在 Rust 中,函数是程序的基本构建块,用于封装可重复使用的代码逻辑。此外,Rust 提供了多种控制流工具,如条件语句和循环,用于实现复杂的程序逻辑。本文将详细介绍 Rust 中函数的定义、参数传递、返回值处理,以及条件语句和循环的使用方法,帮助读者快速掌握 Rust 的核心语法。

一、函数

声明函数使用 fn 关键字

依照惯例,针对函数和变量名,Rust 使用 snake case 命名规范:

所有的字母都是小写的,单词之间使用下划线分开

二、函数的参数

parameters,arguments
parameters 是在函数里面定义的那个参数
arguments 是调用函数时传进去的那个具体参数

在函数参数里,必须声明每个参数的类型,编译器就无需对参数进行推断了

多个参数之间用逗号隔开。

三、函数体中的语句与表达式

  • 函数体由一系列语句组成,可选的由一个表达式结束
  • Rust 是一个基于表达式的语言
  • 语句是执行一些动作的指令
  • 表达式会计算产生一个值
  • 函数的定义也是语句
  • 语句不返回值,所以不可以使用let将一个语句赋给一个变量(例子)

四、函数的返回值

  • -> 符号后边声明函数返回值的类型,但是不可以为返回值命名
  • 在Rust里面,返回值就是函数体里面最后一个表达式的值
  • 若想提前返回,需使用return关键字,并指定一个值
  • 大多数函数都是默认使用最后一个表达式最为返回值

五、if 表达式

  • if表达式允许您根据条件来执行不同的代码分支
  • 这个条件必须是 bool类型
  • if表达式中,与条件想关联的代码块就叫做分支(arm)可选的,在后边可以加上一个else 表达式

使用 else if 处理多重条件

但如果使用了多于一个else if,那么最好使用match来重构代码

六、Rust 循环

① loop 循环

  • loop 关键字告诉 Rust 反复的执行一块代码,直到你喊停
  • 可以在 loop 循环中使用 break 关键字来告诉程序何时停止循环

② while条件循环

另外一种常见的循环模式是每次执行循环体之前都判断一次条件。

while 条件循环为这种模式而生。

执行较慢,每次遍历都需要进行条件判断。

③ for 循环遍历集合

可以使用 while loop 来遍历集合,但是易错且低效

使用 for 循环更简洁紧凑,它可以针对集合中的每个元素来执行一些代码

由于 for 循环的安全、简洁性,所以它在 Rust 里用的最多.

Range

  • 标准库提供
  • 指定一个开始数字一个结束数字,Range 可以生成它们之间的数字(不含结束)
    rev 方法可以反转 Range

1..4表示 1到3 即 1,2,3 不包括 4。

总结

本文系统地介绍了 Rust 编程语言中的函数和控制流机制。通过详细讲解函数的声明、参数传递、返回值处理,以及条件语句和循环的使用方法,读者可以更好地理解 Rust 的语法特点和编程范式。函数是 Rust 程序的核心,通过明确的参数类型声明和灵活的返回值处理,开发者可以编写出清晰、高效的代码。同时,Rust 提供的 if 表达式、loop、while 和 for 循环等控制流工具,使得代码逻辑的实现更加简洁和安全。掌握这些基础知识后,读者可以进一步探索 Rust 的高级特性,如所有权系统、模式匹配等,以提升编程能力。

相关推荐
B.-1 小时前
在 Flutter 中实现文件读写
开发语言·学习·flutter·android studio·xcode
小梁不秃捏4 小时前
深入浅出Java虚拟机(JVM)核心原理
java·开发语言·jvm
我不是程序猿儿5 小时前
【C】识别一份嵌入式工程文件
c语言·开发语言
软件开发技术局6 小时前
撕碎QT面具(8):对控件采用自动增加函数(转到槽)的方式,发现函数不能被调用的解决方案
开发语言·qt
hello_simon6 小时前
【Word转PDF】在线Doc/Docx转换为PDF格式 免费在线转换 功能强大好用
职场和发展·pdf·word·学习方法·word转pdf·石墨文档·word转换
周杰伦fans7 小时前
C#中修饰符
开发语言·c#
yngsqq7 小时前
c# —— StringBuilder 类
java·开发语言
赔罪7 小时前
Python 高级特性-切片
开发语言·python
子豪-中国机器人8 小时前
2月17日c语言框架
c语言·开发语言
夏天的阳光吖8 小时前
C++蓝桥杯基础篇(四)
开发语言·c++·蓝桥杯