Rust中的数据类型


在本文中,将介绍Rust中的整型、浮点型、布尔类型、字符类型、元组类型、数组类型的声明和简单使用方法;

Rust属于静态类型语言,在编译时就必须知道所有变量的类型;有时变量没有指定类型,编译器也可以根据值及其使用方式,推断出其类型;

整型

fn main() {
    let _a = 5; //默认为i32
    let _b:i8 = -12;
    let _c:u8 = 255;
    let _d:i16 = -666;
    let _e:u16 = 666;
}
长度 有符号整型 无符号整形
8bit i8 u8
16bit i16 u16
32bit i32 u32
64bit i64 u64
128bit i128 u128

可以是多种数字类型的数字面值允许使用类型后缀,例如: 255u8 表示8位无符号整型;

    let _a = 255u8;

也可使用 _ 作为分隔符以方便阅读;

    let _a:u32 = 133_333_333; // 133333333
    let _b:u8 = 0b1111_0000; //240

Rust中整型的字面值

十进制 123,123_45
十六进制 0xffff
八进制 0o77
二进制 0b1111_0000
Byte(仅限于u8) b'a'

浮点型

Rust中有两个浮点型类型 f32f64,分别占32位和64位,用于表示带小数点的数;f32 是单精度浮点数,f64 是双精度浮点数;

    let _x = 3.14159; //默认为f64
    let _y:f32 = 5.20; //f32
    let _z:f64 = 6.66; //f64

所有的浮点型都是有符号的,不存在无符号浮点型;

布尔型

Rust中的布尔类型用 bool 表示,有 truefalse 两个值;

    let _x = true; //编译器能推断类型为bool
    let _y:bool = false;

字符类型

Rust中使用 char 表示字符类型;

    let _c = 'a';
    let _z:char = 'b';

元组类型

在Rust中,使用包含在圆括号中的逗号分隔的值列表来创建一个元组,元组中的每一个位置都有一个类型,这些不同值得类型也不必是相同得;

    let tup: (i32, f64, i8) = (123, 3.14159, -1);

元组的长度是固定的,一旦声明,其长度不能增大或减小;

访问元组中的元素

    let tup: (i32, f64, i8) = (123, 3.14159, -1);
    let (x,y,z) = tup;//x=123,y=3.14159,z=-1
    let a = tup.0; //a=123
    let b = tup.1; //b=3.14159
    let c = tup.2; //c=-1

数组类型

在Rust中,将数组的值写在方括号内,用逗号分隔;与元组不同,数组中的每个元素必须相同;Rust中数组的长度是固定的;

    let a = [1,2,3,4,5];
    let b:[i32;5]=[4,5,6,7,8]; //i32表示元素类型,5表示元素数量
    let x = [8;6]; //x包含6个元素,这些元素的初始值都为 8

访问数组中的元素

    let a = [1,2,3,4,5];
    
    println!("first number: {}",a[0]);

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/rust-data-types.html