Rust-数据类型
Rust语言中的基础数据类型有以下几种:
- 整数型(Integer)
- 浮点数型(Floating-Point)
- 布尔型
- 字符型
- 复合类型
注意:Rust不支持++和--,因为这两个运算符出现在变量的前后会影响代码可读性,减弱了开发者对变量改变的意识能力。
整数型
整数型简称整型,按照比特位长度和有无符号分为以下种类:
位长度 有符号 无符号
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
128-bit i128 u128
arch isize usize
isize和usize两种整数类型是用来衡量数据大小的,它们的位长度取决于所运行的目标平台,如果是32位架构的处理器将使用32位位长度整型。
整数的表述方式有以下几种:
进制 例子
十进制 98_222
十六进制 0xff
八进制 0o77
二进制 0b1111_0000
字节(只能表示u8型) b'A'
很显然,有的整数中间存在一条下划线,这种设计可以让我们在输入一个很大的数字时更容易判断数字的值大概是多少。
浮点数型(Float-Point)
Rust与其它语言一样支持32位浮点数(f32)和64位浮点数(f64)。默认情况下,64.0将表示64位浮点数,因为现代计算机处理器对两种浮点数计算的速度几乎相同,但64位浮点数精度更新。
let x = 2.0;//64位 let y:f32 = 2.0;//32位
布尔型
布尔型用bool表示,值只能为true和false。
字符型
字符型号char表示。
Rust的char类型大小为4个字节,代表Unicode标量值,这意味着它可以支持中文,日文和韩文等非英文字符甚至表情符号和零宽度空格在Rust中都是有效的char值。
Unicode值的范围从 U+0000 到 U+D7FF 和 U+E000 到 U+10FFFF(包括两端)。但是,“字符”这个概念并不存在于Unicode中,因此您对“字符”是什么的直觉可能与Rust中的字符概念不相同。所以一般推荐使用字符串储存UTF-8文字(非英文字符尽可能地出现在字符串中)。
复合类型
元组用一对( )包括的一组数据,可以包含不同种类的数据:
let tup:(i32, f64, u8) = (500, 9.1, 2); println!("a:{}", tup.0); println!("b:{}", tup.1); println!("c:{}", tup.2);
结果:
a:500 b:9.1 c:2
数组用一对 [] 包括的同类型数据:
let a = [1, 2, 3, 4, 5]; // a 是一个长度为 5 的整型数组