当前位置: 首页 > news >正文

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

Rust 系列

🎀Rust编程语言入门教程(一)安装Rust🚪
🎀Rust编程语言入门教程(二)hello_world🚪
🎀Rust编程语言入门教程(三) Hello Cargo🚪
🎀Rust编程语言入门教程(四)猜数游戏:一次猜测🚪
🎀Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测🚪
🎀Rust编程语言入门教程 (六)变量与可变性🚪
🎀Rust编程语言入门教程 (七)函数与控制流🚪

目录

  • Rust 系列
  • 引言
  • 一、函数
  • 二、函数的参数
  • 三、函数体中的语句与表达式
  • 四、函数的返回值
  • 五、if 表达式
  • 六、Rust 循环
    • ① loop 循环
    • ② while条件循环
    • ③ for 循环遍历集合
    • Range
  • 总结

引言

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 的高级特性,如所有权系统、模式匹配等,以提升编程能力。

相关文章:

  • 什么是LoRA微调
  • SpringBoot详解
  • 使用爬虫按关键字搜索亚马逊商品:实战指南
  • AWS-SAA中文版题库
  • 【c语言初阶】函数_递归和迭代
  • 计算机专业知识【深入理解 IP 地址与子网掩码:从 /27 到不同 CIDR 表示】
  • PyTorch 源码学习:Dispatch Autograd Operators
  • 《炒股养家心法.pdf》 kimi总结
  • 京东cfe滑块 分析
  • 在VSCode中接入deepseek
  • 优化YOLOv8:如何利用ODConv卷积解决复杂背景下的目标识别问题
  • 为什么要用 const 和 let,而不是 var?
  • Solon Cloud —— 介绍
  • Pytorch实现之GIEGAN(生成器信息增强GAN)训练自己的数据集
  • The First项目报告:重塑链上游戏生态,解读B3 Base的双赢局面
  • 操作系统研究
  • 新版Tomcat MySQL IDEA 安装配置过程遇到的问题
  • Linux----线程
  • ES6箭头函数:从基础到进阶指南
  • 【Pandas】pandas Series reset_index
  • 中文网站建设模板下载/建立网站的主要步骤
  • 网站 内容建设存在的问题/东营seo
  • 网站后台的关键词/杭州优化外包哪里好
  • android studio官网/网络seo排名
  • 如何建立一个网站论坛/企业查询宝
  • 日本做的视频网站有哪些问题吗/做网站推广公司