【rust】| 03——语法基础 | 数据类型

系列文章目录
【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++中是类似的。

整型

整型分为无符号整型和有符号整型。
【rust】| 03——语法基础 | 数据类型_第1张图片
和C/C++中一样 当某类型数据超过范围会溢出
但Rust中有显式处理溢出的方法 后面会介绍。

整型数字的编写形式比较灵活
1、可以使用类型后缀来指定类型 如:byte型 可以 64u8 表示
2、数字可以用 _分隔 让数字便于阅读 如: 18888 可以 18_888表示
3、可表明数字的进制 如下
【rust】| 03——语法基础 | 数据类型_第2张图片
默认整型是 i32类型
【rust】| 03——语法基础 | 数据类型_第3张图片

浮点型

Rust中浮点型数据分为两种:
1、f32 单精度浮点数 ——32位
2、f64 双精度浮点数 ——64位
默认浮点型是 f64
【rust】| 03——语法基础 | 数据类型_第4张图片

布尔型

和其他语言中一样 只有两个值 == 真 true 和 假 false== 占1个字节大小。
【rust】| 03——语法基础 | 数据类型_第5张图片

字符型

Rust中字符型( char ) 占四个字节大小
【rust】| 03——语法基础 | 数据类型_第6张图片

2. 复合类型(compound)

复合类型即:多个值组成一种类型。
Rust中有两种原始复合类型:元组 和 数组。

2.1 元组

元组就是将多种类型组成一个复合类型。它在声明后 长度是固定的。类似C语言中数组 定义后 长度不可改变。

元组类型的定义: let + 元组名 : (类型1,类型2,类型n)

【rust】| 03——语法基础 | 数据类型_第7张图片
每个元素有自己的类型

元组中元素访问 元素名.元素号

【rust】| 03——语法基础 | 数据类型_第8张图片

和C/C++中访问数组中元素 类似 都是从 0 下标开始 表示第一个元素 从左到右

元组 转换为 独立变量 let (变量1,变量2,变量n) = 元组

【rust】| 03——语法基础 | 数据类型_第9张图片
需要注意 通过该操作转换为独立变量的话 元组内有多少个 就转换为多少个变量 少了或多了都不可以

2.2 数组

数组中每个元素类型都是相同的。数组大小是固定的。

定义数组 如图所示

【rust】| 03——语法基础 | 数据类型_第10张图片

访问数组元素 索引从0开始

【rust】| 03——语法基础 | 数据类型_第11张图片
访问数组的操作 在Rust中 会有一个检测 这个检测是在运行时检测的。我们在通过索引访问数组时 Rust 将检查我们指定的索引是否小于数组长度 。如果索引大于或等于长度 Rust会提示 并立即退出。这一检测机制很好的 让我们避免了数组越界访问无效地址这种问题。
这一简单操作展现了 Rust语言内存安全特性中的一个处理。

你可能感兴趣的:(#,Rust,rust,开发语言,后端)