Rust 第三章 数据类型

Posted evilchan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust 第三章 数据类型相关的知识,希望对你有一定的参考价值。

Rust 第三章 数据类型

Rust中的每个值都是特定的数据类型,它告诉Rust指定了什么类型的数据,以便知道如何处理这些数据。我们将研究两个数据类型子集:标量和复合

标量

整数型

Length Signed Unsigned
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
128-bit i128 u128
arch isize usize

signed十进制公式:-(2^(n-1)) ~ 2^(n-1)-1
unsigned十进制公式:0 ~ 2^(n-1)-1

进制

进制 十进制
十进制 98_222 98222
十六进制 0xff 255
八进制 0o77 63
二进制 0b1111_0000 240
字节(只能表示u8型) b‘A‘ 65
fn main() {
    let x = 0xff;
    println!("x: {}", x);
}

// x: 255

浮点数型

Length type
32-bit f32
64-bit f64
fn main() {
    let x = 2.0; // f64	自动类型推断 默认64位浮点数型
    let y: f32 = 3.0; // f32

    println!("x: {} y: {}", x, y);
}

// x: 2 y: 3

布尔型

bool表示,值为true或false

fn main() {
    let flag = true;
    println!("flag: {}", flag);
    let flag: bool = !flag;
    println!("flag: {}", flag);
}

// flag: true
// flag: false

字符型

Rust的 char 类型大小为 4 个字节,32位,代表 Unicode标量值,这意味着它可以支持中文,日文和韩文字符等非英文字符甚至表情符号和零宽度空格在 Rust 中都是有效的 char 值。

fn main() {
    let person = ‘A‘;
    let person: char = person;
    println!("person: {}", person);

    let person: u8 = b‘A‘;
    println!("person: {}", person);
}

// person: A
// person: 65

复合

元组

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

// The value of x is: 500
// The value of y is: 6.4
// The value of z is: 1
// x: 500 y: 6.4 z: 1

数组

fn main() {
    // 数组
    let a = [1, 2, 3, 4, 5];
    // 声明数组
    let a: [i32; 5] = a;
    // 下标
    let index = 4;
    let element = a[index];
    println!("The value of element is: {}", element);

    // 有10个值,初始值为3的数组
    let b = [3; 10];
    // 数组循环
    for item in &b {
        println!("{}", item);
    }
    // 数组循环2
    for item in b.iter() {
        println!("{}", item);
    }
}

// The value of element is: 5
// 3
// 3
// 3
// 3
// 3
// 3
// 3
// 3
// 3
// 3

以上是关于Rust 第三章 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

RUST 0x01 数据类型

Rust—数据类型

Rust从入门到精通04-数据类型

Compound Data Type of Rust

[Rust]基本数据类型

Rust语言教程 - 从熟悉的部分开始