Rust之通用编程

这篇具有很好参考价值的文章主要介绍了Rust之通用编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、变量与可变性:

在Rust语言中,变量默认是不可变的,所以一旦变量被绑定到某个值上面,这个值就再也无法被改变。
可以通过在声明的变量名称前添加mut关键字来使其可变。除了使变量的值可变,mut还会向阅读代码的人暗示其他代码可能会改变这个变量的值。

2、数据类型:

(1)、标量类型:

a、整数:

在Rust中的整数类型:
Rust之通用编程,Rust语言学习,rust,开发语言,后端
在Rust中的整数字面量:
Rust之通用编程,Rust语言学习,rust,开发语言,后端
在Rust中,默认使用的类型是i32

b、浮点数:

在Rust中的浮点数分为f32f64两种类型,其分别对应单精度浮点数和双精度浮点数。

c、布尔值:

Rust的布尔类型只拥有两个可能的值:truefalse,它会占据单个字节的空间大小。可以使用bool来表示一个布尔类型。

d、字符:

在Rust中,char类型被用于描述语言中最基础的单个字符。
Rust中的char类型占4字节,是一个Unicode标量值,这也意味着
它可以表示比ASCII多得多的字符内容。拼音字母、中文、日文、韩文、零长度空白字符,甚至是emoji表情都可以作为一个有效的char类型值。

(2)、复合类型:

a、元组:

元组是一种常见的复合类型,可以将其他不同类型的多个值组合进一个复合类型中。元组拥有固定的长度,无法在声明结束后增加或减少其中的元素数量。

  • 解构:将元组中的数据解析出来的操作。例如:
fn main() { 
	 let tup = (500, 6.4, 1); 
	 let (x, y, z) = tup; 
	 println!("The value of y is: {}", y); 
}

这段程序首先创建了一个元组,并将其绑定到了变量tup上。随后,let关键字的右侧使用了一个模式将tup拆分为3个不同的部分:x、y和z。最后,程序将变量y的值。

  • 通过点号(.)来访问元组中的值,例如
fn main() { 
	 let x: (i32, f64, u8) = (500, 6.4, 1); 
	 let five_hundred = x.0; 
	 let six_point_four = x.1; 
	 let one = x.2; 
} 

这段程序首先创建了一个元组x,随后又通过索引访问元组的各个元素,并将它们的值绑定到新的变量上。

b、数组:

可以在数组中存储多个值的集合。与元组不同,数组中的每一个元素都必须是相同的类型。Rust中的数组拥有固定的长度,一旦声明就再也不能随意更改大小。
在Rust中,你可以将以逗号分隔的值放置在一对方括号内来创建一个数组。

i、数组初始化的方法:
  • 使用一对方括号,并在方括号中填写数组内所有元素的类型、一个分号及数组内元素的数量,例如:
let a: [i32; 5] = [1, 2, 3, 4, 5];//的i32便是数组内所有元素的类型,而分号之后的5则表明当前的数组包含5个元素。
  • 假如你想要创建一个含有相同元素的数组,那么你可以在方括号中指定元素的值,并接着填入一个分号及数组的长度,例如:
let a = [3; 5]
ii、访问数组:

通过索引来访问一个数组中的所有元素,例如:

fn main() { 
 let a = [1, 2, 3, 4, 5]; 
 let first = a[0]; 
 let second = a[1]; 
}

在这个例子中,first变量会被赋值为1,这正是数组中索引[0]对应的那个值。同样,second变量将获得数组中索引[1]对应的那个值,也就是2。

3、函数:

在Rust中,可以使用fn来声明一个新的函数。
Rust中使用蛇形命名法来作为规范函数和变量名称的风格。蛇形命名法只使用小写字母来进行命名,并以下划线分割单词。
在Rust中,函数定义以fn关键字开始并紧随函数名称与一对圆括号,另外还有一对花括号用于标识函数体开始和结尾的地方。
使用函数名加圆括号来调用函数。

(1)、函数参数:

当函数存在参数时,需要在调用函数的时候为这些参数提供具体的值。
在函数签名中,必须显式地声明每个参数的类型。由于类型被显式地注明,因此编译器不需要通过其他部分的代码进行推导就能明确地知道编程者的意图。

(2)、函数体中的语句和表达式:

在Rust中,语句和表达式为两个不同的概念。语句是指那些执行操作但是不返回值的指令,表达式是指那些进行计算并产生一个值作为结果的指令。
在表达式的结尾没有;,而在语句的结尾有;,当在表达式的结尾加上;,表达式就会变成语句,而不会返回任何值。

(3)、函数的返回值:

函数可以调用它的代码返回值,不用为返回值命名,但是需要在箭头符号(->)的后面声明它的类型。在Rust中,函数的返回值等同于函数体最后一个表达式的值。也可以使用return关键字并指定一个值来提前从函数中返回,但大多数函数都是隐式地返回了最后的表达式。

4、控制流:

通过条件来执行或重复执行某些代码,在Rust中,用来控制程序执行流的结构主要就是if表达式循环表达式

(1)、if表达式:

if表达式允许我们根据条件执行不同的代码分支。

(2)、使用循环重复执行代码:

a、使用loop重复执行:

可以使用loop关键字来指示Rust反复执行某一块代码,直到显式地声明退出为止。

b、while条件循环:

在每次执行之前都判断一次条件,假如条件为真则执行代码片段,假如条件为假或在执行过程中遇到break就退出当前循环。

c、for循环:

示例:

fn main() { 
	let a = [10, 20, 30, 40, 50]; 
	for element in a.iter() { 
		println!("the value is: {}", element); 
	} 
}

使用for循环遍历数组。文章来源地址https://www.toymoban.com/news/detail-599880.html

到了这里,关于Rust之通用编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rust编程语言入门之Rust的面向对象编程特性

    Rust 受到多种编程范式的影响,包括面向对象 面向对象通常包含以下特性:命名对象、封装、继承 “设计模式四人帮”在《设计模型》中给面向对象的定义: 面向对象的程序由对象组成 对象包装了数据和操作这些数据的过程,这些过程通常被称作方法或操作 基于此定义:

    2023年04月21日
    浏览(54)
  • 【Rust 基础篇】Rust FFI:连接Rust与其他编程语言的桥梁

    Rust是一种以安全性和高效性著称的系统级编程语言,具有出色的性能和内存安全特性。然而,在现实世界中,我们很少有项目是完全用一种编程语言编写的。通常,我们需要在项目中使用多种编程语言,特别是在与现有代码库或底层系统交互时。为了实现跨语言的互操作性,

    2024年02月15日
    浏览(55)
  • 从零学习开发一个RISC-V操作系统(四)丨RISC-V汇编语言编程

       本系列是博主参考B站课程学习开发一个RISC-V的操作系统的学习笔记,计划从RISC-V的底层汇编指令学起,结合C语言,在Ubuntu 20.04上开发一个简易的操作系统。一个目的是通过实践操作学习和了解什么是操作系统,第二个目的是为之后学习RISC-V的集成电路设计打下一定基础

    2024年01月25日
    浏览(63)
  • Rust编程语言入门之模式匹配

    模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构 将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流 模式由以下元素(的一些组合)组成: 字面值 解构的数组、enum、struct 和 tuple 变量 通配符 占位符 想要使用模式,需要将其与某个值进行

    2023年04月22日
    浏览(92)
  • Rust编程语言入门之高级特性

    不安全 Rust 高级 Trait 高级 类型 高级函数和闭包 宏 隐藏着第二个语言,它没有强制内存安全保证:Unsafe Rust(不安全的 Rust) 和普通的 Rust 一样,但提供了额外的“超能力” Unsafe Rust 存在的原因: 静态分析是保守的。 使用 Unsafe Rust:我知道自己在做什么,并承担相应风险

    2023年04月24日
    浏览(50)
  • Rust编程语言入门之智能指针

    指针:一个变量在内存中包含的是一个地址(指向其它数据) Rust 中最常见的指针就是”引用“ 引用: 使用 借用它指向的值 没有其余开销 最常见的指针类型 智能指针是这样一些数据结构: 行为和指针相似 有额外的元数据和功能 通过记录所有者的数量,使一份数据被多个

    2023年04月16日
    浏览(54)
  • Rust编程语言入门之无畏并发

    Concurrent:程序的不同部分之间独立的执行(并发) Parallel:程序的不同部分同时运行(并行) Rust无畏并发:允许你编写没有细微Bug的代码,并在不引入新Bug的情况下易于重构 注意:本文中的”并发“泛指 concurrent 和 parallel 在大部分OS里,代码运行在进程(process)中,OS同时

    2023年04月19日
    浏览(70)
  • 【编程】Rust语言入门第4篇 字符串

    Rust 中的字符是 Unicode 类型,因此每个字符占据 4 个字节内存空间,但字符串不一样,字符串是 UTF-8 编码,也就是字符串中的字符所占的字节数是变化的(1 - 4)。 常见的字符串有两种: str,通常是引用类型, str ,即字符串字面常量,字符串切片。 std::string::String 类型 str 的变

    2024年02月20日
    浏览(56)
  • 如何在 macOS 上安装 Rust 编程语言

    安装Rust编程语言在Mac上是一个相对简单的过程,但它可能会涉及多个步骤。在本文中,我将详细说明如何在Mac上安装Rust,并提供一些常见问题的解决方法。请注意,由于软件和工具可能会发生变化,因此建议首先查看Rust官方网站以获取最新的安装说明。 目录 1.打开终端 2

    2024年02月01日
    浏览(58)
  • 【跟小嘉学 Rust 编程】十七、面向对象语言特性

    【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学 Rust 编程】六、枚举

    2024年02月10日
    浏览(89)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包