Rust中的数据类型(标量类型)

Rust中的每一个值都有其特定的数据类型,Rust会根据数据的类型来决定应该如何处理它们。Rust中的两种不同数据类型子集:标量类型(scalar)和复合类型(compound)。

Rust是一门静态类型语言,这意味着它在编译程序的过程中需要知道所有变量的具体类型。大多数时候编译器可以自动推导数据类型。但是在有些时候 —— 比如通过parse将一个String类型转换为数值类型时,就必须显式地添加一个类型标注:

fn main() {
    let num : u32 = "123".parse().unwrap();
    println!("num = {}", num);
}

标量类型时单个值类型的统称。Rust中内建了4中基础的标量类型:整数、浮点数、布尔值及字符。

整数类型

表示整数,比如:i8、u8、i16、u16、i32、u32、i64、u64、isize、usize。

较特殊的两个整数类型 usize 和 isize 主要用作某些集合的索引。

浮点数类型

可以带小数的类型,比如:f32、f64。

布尔类型

bool,bool类型只包括两个值 —— true 和 false。

布尔类型最主要的用途是在if表达式内作为条件使用。

字符类型

char,char类型表示单个字符。char类型使用单引号制定,而不同于字符串使用双引号指定。

Rust中的char类型占4字节,是一个Unicode标量值,这也意味着它可以表示比ASCII多得多的字符内容。例如下面的程序:

fn main() {
    let a = 'y';
    let b = '✔';
    let c = '☺';
    println!("a = {}, b = {}, c = {}", a, b, c);    // 输出 a = y, b = ✔, c = ☺
}
posted @ 2022-01-21 19:38  鱼又悲  阅读(267)  评论(0编辑  收藏  举报