字符、布尔、单元类型
字符(注意 不是字符串)
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!("这是段毫无意义的代码");
}
}单元类型
单元类型就是(),对,你没看错,就是(),唯一的值也是() 比如:
- 函数
main(). - 你可以用
()作为map的值,表示我们不关注具体的值,只关注key。这种用法和Go语言的struct{}类似,可以作为一个值用来占位,但是完全不占用任何内存。
总结
Rust类型转换必须是显式的(js默认是隐式的).Rust的数值上可以使用方法。例如你可以用以下方法来将13.14取整:13.14_f32.round(),在这里我们使用了类型后缀,因为编译器需要知道13.14的具体类型.