Rust(2): 变量声明和基本数据类型

声明变量

Rust 是强类型语言,同时具有自动判断变量类型的能力。这一点和 Typescript 有点相似。

Rust 语言中有变量和常量之分,分别通过 letconst 关键字进行声明。

let 变量

Rust 中的变量分为可变变量和不可变变量。

使用 let 关键字声明的变量默认是不可变变量,即赋值后不能再修改:

// 先声明,会赋值
let num;
num = 10;

// 声明时赋值
let name = "kw";

println!(name);
let num = 10;

num = 20; 
// error[E0384]: cannot assign twice to immutable variable `num`
// 无法对不可变的变量进行重复赋值

要声明一个可变变量,需要再加上另一个关键字 mutmutable 可变的缩写:

let mut num = 10;

num = 20; 

可变和不可变的机制,其实是提供了一种更安全的选择。毕竟 Rust 是一门号称更安全的语言,会尽可能在各个方面来保证代码的安全性。

const 常量

上面不可变变量的用法很像常量,但是常量和不可变变量还是有点不一样的。

常量使用 const 关键字声明,且需要指定类型,常量名要求是大写

// `i32` 表示 32位整数类型。
const NUM: i32 = 100

// 一旦赋值则不能被更改
NUM = 200 // ×

基本数据类型

Rust 的数据类型有很多,包含了整数类型,浮点数类型,字符类型,布尔类型,元祖类型,数组类型,字符串类型等等。

本文要介绍的基本数据类型有:

  • 整数类型

  • 浮点类型

  • 字符类型

  • 布尔类型

整数类型

JS 中只有 number 类型,包含了整数和浮点数。

Rust 中的数字分为整数类型和浮点数类型。

整数类型数字是不带有小数点的数字。表格中显示了 Rust 中的整数类型:

Rust(2): 变量声明和基本数据类型_第1张图片

其中, iinteger 的首字母,表示有符号的整数, uunsigned 的首字母,表示无符号类型。

默认的整数类型是 i32

// num_1 默认是 i32 类型
let num_1 = 10;

// 有符号的整数类型
let num_2: i32 = -10;

// 无符号的整数类型
let num_3: u32 = 10

一般不推荐使用 usizeisizeisizeusize 两种整数类型的位长度取决于所运行的目标平台,如果是 32 位架构的处理器则使用 32 位位长度整型,以此类推。

浮点类型

浮点类型数字是带有小数点的数字

在 Rust 中浮点类型数字也有两种基本类型: f32f64,分别表示 32 位和 64 位大小。

默认浮点类型是 f64,在现代的 CPU 中它的速度与 f32 几乎相同,但精度更高。

浮点数字面量表示方式有如下几种:

// 默认是 f64 类型
let number_1 = 5.0

// f32 类型的浮点数
let number_2: f32 = 5.0
数学运算

Rust 中的所有基元数字类型都支持数学运算,如加法、减法、乘法和除法。

let num_1 = 1 + 2; // 3

let num_2 = 9.99 - 0.99; // 9

let num_3 = 10 * 20; // 200

let num_4 = 81 / 9; //9

let num_5 = 17 % 5; //  2

字符类型

对于 JSer 来说,注意这里是字符类型而不是字符串类型。

在 Rust 中字符类型属于基本数据类型,字符串属于复合数据类型。不像 JS 中,不区分字符和字符串,都叫做字符串类型。

字符类型用 char 表示,任何一个 unicode 编码的字符都是合法的字符值,比如单个的中文、英文、日文、emoji 表情符号等等。

字符类型字面量用单引号表示,双引号是用来表示字符串的。

let z: char = '中';
let e: char = 'E';
let emoji: char = '';

println!("{}", z);
println!("{}", e);
println!("{}", emoji);

打印结果:

image-20220811110039461

布尔类型

布尔类型使用 bool 表示,只有两个值,truefalse。布尔值占用内存的大小为 1 个字节。

let t: bool = true;
let f: bool = false;

这应该是最简单的数据类型了吧?

小结

本文简单介绍了 Rust 中声明变量的方式,主要是使用 let 和 const 关键字。然后介绍了四种基本数据类型,包括整数类型,浮点类型,字符类型和布尔类型。

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