系列文章目录
【rust】| 00——开发环境搭建
【rust】| 01——编译并运行第一个rust程序
【rust】| 02——语法基础_变量(不可变?)和常量
【rust】| 03——语法基础 | 数据类型
【rust】| 04——语法基础 | 函数
【rust】| 05——语法基础 | 流程控制
文章目录
- 前言
- 数据类型
- 1. 标量类型(scalar)
- 整型
- 浮点型
- 布尔型
- 字符型
- 2. 复合类型(compound)
- 2.1 元组
- 2.2 数组
前言
Rsut和C++一样都是静态类型语言。
静态语言:必须在编译时知道所以变量的类型。
因此,我们需要在使用变量前必须声音数据类型。
下文就介绍 Rust语言中有那些数据类型
数据类型
Rust中数据类型分为两类:
1、标量类型(scalar)
2、复合类型(compound)
1. 标量类型(scalar)
标量:表示单个值类型的。Rust中标量类型分为四种:整型、浮点型、布尔、字符。这几种和C/C++中是类似的。
整型
整型分为无符号整型和有符号整型。
和C/C++中一样 当某类型数据超过范围会溢出
但Rust中有显式处理溢出的方法 后面会介绍。
整型数字的编写形式比较灵活
1、可以使用类型后缀来指定类型 如:byte型 可以 64u8 表示
2、数字可以用 _分隔 让数字便于阅读 如: 18888 可以 18_888表示
3、可表明数字的进制 如下
默认整型是 i32类型
浮点型
Rust中浮点型数据分为两种:
1、f32 单精度浮点数 ——32位
2、f64 双精度浮点数 ——64位
默认浮点型是 f64
布尔型
和其他语言中一样 只有两个值 == 真 true 和 假 false== 占1个字节大小。
字符型
Rust中字符型( char ) 占四个字节大小
2. 复合类型(compound)
复合类型即:多个值组成一种类型。
Rust中有两种原始复合类型:元组 和 数组。
2.1 元组
元组就是将多种类型组成一个复合类型。它在声明后 长度是固定的。类似C语言中数组 定义后 长度不可改变。
元组类型的定义: let + 元组名 : (类型1,类型2,类型n)
每个元素有自己的类型
元组中元素访问 元素名.元素号
和C/C++中访问数组中元素 类似 都是从 0 下标开始 表示第一个元素 从左到右
元组 转换为 独立变量 let (变量1,变量2,变量n) = 元组
需要注意 通过该操作转换为独立变量的话 元组内有多少个 就转换为多少个变量 少了或多了都不可以
2.2 数组
数组中每个元素类型都是相同的。数组大小是固定的。
定义数组 如图所示
访问数组元素 索引从0开始
访问数组的操作 在Rust中 会有一个检测 这个检测是在运行时检测的。我们在通过索引访问数组时 Rust 将检查我们指定的索引是否小于数组长度 。如果索引大于或等于长度 Rust会提示 并立即退出。这一检测机制很好的 让我们避免了数组越界访问无效地址这种问题。
这一简单操作展现了 Rust语言内存安全特性中的一个处理。