Rust-02 Rust的基础类型

整数类型(Integer Number)

长度 有符号 无符号
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会自动基于当前运行平台架构选择bit类型,如果是 64 位系统就是 i64 和 u64,32 位系统则是 i32 和 u32。Rust 默认整型为 i32。

fn main() {
    let x = 2; // rust默认i32
    let y: i64 = 3; // 显式声明i64
}

整数字面量(Integer Literal)

字面值 例子 说明
Decimal 100_000 十进制
Hex 0xff 八进制
Octal 0o77 十六进制
Binary 0b1111_0000 二进制
Byte(仅限u8) b'A' 字节

浮点数(Float Point Number)

长度 类型名
32-bit f32
64-bit f64

Rust 默认浮点数类型为 f64。

fn main() {
    let x = 2.0; // f64
    let y: f32 = 3.0; // f32
    // 支持的操作
    let sum = 5.3 + 10.7;
    let difference = 95.5 - 5.5;
    let product = 5.13 * 2;
    let quotient = 152.4 / 22.2;
    let remainder = 25 % 4;
}

布尔值(Boolean)

Rust 的 Boolean 类型大小为 1 byte

名称 类型名
true
false
fn main() {
    let t = true;
    let f: bool = false; // 使用类型名显示声明
}

字符(Character)

Rust 的字符是一个 4 bytes 的 Unicode Scalar Value

fn main() {
    let c = 'z';
    let dog = '🐶';
}

元组(Tuple)

Rust 的元组长度固定,一旦声明后大小不能增长和收缩。

fn main() {
    let tup: (i32, f64, u8) = (500, 6.4, 1);
    let (x, y, z) = tup;
    println!("The value of y is {}", y);
    let five_hundred = tup.0;
    let six_point_four = tup.1;
    let one = tup.2;
}

数组(Array)

固定长度

fn main() {
    let a = [1, 2, 3, 4, 5];
    let b: [i32; 5] = [1, 2, 3, 4, 5];

    let array = [1, 2, 3, 4, 5];
    let arr: [i32; 5] = [1, 2, 3, 4, 5];
    let elememt = array[1];
    let index = 3;
    let element2 = arr[index];   // 访问数组元素 数组索引是0开头
}

变量类型声明规则

Rust 中声明变量的方式是let [mut] variablename : typename = initialvalue;

posted @ 2023-01-04 23:49  trickyrat  阅读(133)  评论(0)    收藏  举报