字符、布尔、单元类型

15 阅读1分钟

字符类型 (char)

  • 在 Rust 中,字符类型可以表示一个 Unicode 值,包括 ASCII 字符、中文汉字、日文、韩文字符以及 Emoji 表情等。
  • Rust 的字符类型使用单引号 (') 表示,与字符串 (") 区分。
  • 每个 char 类型占用 4 个字节。

代码示例

fn main() {
    let c = 'z';
    let z = 'ℤ';
    let g = '国';
    let heart_eyed_cat = '😻';
    
    let x = '中';
    println!("字符'中'占用了{}字节的内存大小", std::mem::size_of_val(&x));
}

运行输出:

字符'中'占用了4字节的内存大小

布尔类型 (bool)

  • 布尔类型有两个可能的值:true 和 false。
  • 布尔值主要用于控制流程,如 if 语句的条件判断。
  • 布尔类型占用 1 个字节。

代码示例

fn main() {
    let t = true;
    let f: bool = false; // 显式指定类型

    if f {
        println!("这是段毫无意义的代码");
    }
}

单元类型 (())

  • 单元类型用 () 表示,它只有一个可能的值 ()。
  • 单元类型常用于表示函数不返回任何有用的值,例如 main 函数和 println!() 宏。
  • 单元类型可以作为占位符使用,例如在某些数据结构中不关心值只关心键的情况。

代码示例

fn main() {
    // main 函数返回单元类型 ()
    println!("Hello, world!"); // println! 也返回单元类型 ()
}

总结

  • 字符类型在 Rust 中表示 Unicode 字符,每个字符占用 4 个字节。
  • 布尔类型用于表示逻辑真值和假值,占用 1 个字节。
  • 单元类型是一种特殊的类型,其唯一的值 () 用于表示函数不返回有用的值或作为占位符。