Skip to content

字符、布尔、单元类型

字符(注意 不是字符串)

Rust的字符不仅仅是ASCII,所有的Unicode值都可以作为Rust字符,包括单个的中文、日文、韩文、emoji 表情符号等等,都是合法的字符类型。Unicode值的范围从U+0000 ~ U+D7FF 和 U+E000 ~ U+10FFFF。(字符类型占用4个字节与Unicode相等)

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

布尔(bool)

Rust 中的布尔类型有两个可能的值:true 和 false,布尔值占用内存的大小为 1 个字节:

rust
fn main() {
    let t = true;

    let f: bool = false; // 使用类型标注,显式指定f的类型

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

单元类型

单元类型就是(),对,你没看错,就是(),唯一的值也是() 比如:

  1. 函数main().
  2. 你可以用()作为map的值,表示我们不关注具体的值,只关注key。这种用法和Go语言的struct{}类似,可以作为一个值用来占位,但是完全不占用任何内存。

总结

  1. Rust类型转换必须是显式的(js默认是隐式的).
  2. Rust的数值上可以使用方法。例如你可以用以下方法来将13.14取整:13.14_f32.round(),在这里我们使用了类型后缀,因为编译器需要知道13.14的具体类型.

数据类型

Released under the MIT License.