Rust 基础入门 —— 字符、布尔、单元 类型

简介: 布尔类型(bool)说明一点,bool类型的应用场景 主要就是用在流程控制中,

字符、布尔、单元 类型

字符类型(char)

对于字符类型我们有更大的自由性,概括一下:


  • 更大的编码范围,让rust 可以展示更多的内容。
  • 统一的字节空间,字符也是四个字节的内存大小。
  • 严格区分的 "" 和 ''前者用于字符串、后者是字符。
fn test_math_4() {
    let c = 'z';
    let z = 'ℤ';
    let g = '国';
    let heart_eyed_cat = '😻';
    let x = '中';
    println!("字符'中'占用了{}字节的内存大小", std::mem::size_of_val(&x));
    println!("{} \n{} \n{} \n{}\n", c, z, g, heart_eyed_cat);
}
fn main() {
    test_math_4();
}


warning: `file23_06_28` (bin "file23_06_28") generated 4 warnings (run `cargo fix --bin "file23_06_28"` to apply 1 suggestion)
    Finished dev [unoptimized + debuginfo] target(s) in 0.71s
     Running `target\debug\file23_06_28.exe`
字符'中'占用了4字节的内存大小
z
😻
PS C:\Users\97852\Desktop\ZryCode\CODE\Rust\file23_06_28


布尔类型(bool)

说明一点,bool类型的应用场景 主要就是用在流程控制中,


fn test_math_5() {
    let t = false;
    let f: bool = true; // 使用类型标注,显式指定f的类型
    if f {
        println!("这是段毫无意义的代码");
    }
}
fn main() {
    test_math_5();
}


warning: `file23_06_28` (bin "file23_06_28") generated 6 warnings (run `cargo fix --bin "file23_06_28"` to apply 2 suggestions)
    Finished dev [unoptimized + debuginfo] target(s) in 0.56s
     Running `target\debug\file23_06_28.exe`
这是段毫无意义的代码


单元类型(())

美妙的新鲜内容。单元类型。

所谓单元类型,其实是一种语义补全,为了在rust 的强类型思想下,完成闭环。用来在一个没有返回的函数中用来隐式说明返回了什么,


用法也很简单,你看到的 main() 、println!(),以及后面的发散函数(发散函数( diverge function ),顾名思义,无法收敛的函数)也都是这个返回类型。


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

目录
相关文章
|
2月前
|
设计模式 Rust 安全
【一起学Rust | 设计模式】新类型模式
【一起学Rust | 设计模式】新类型模式
78 0
|
2月前
|
存储 Rust 程序员
【一起学Rust | 基础篇 | rust新特性】Rust 1.65.0——泛型关联类型、let-else语句
【一起学Rust | 基础篇 | rust新特性】Rust 1.65.0——泛型关联类型、let-else语句
66 0
|
2月前
|
设计模式 Rust JavaScript
【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
48 0
|
5天前
|
Rust 开发者
Rust函数入门与函数重载
Rust函数入门与函数重载
6 0
|
5天前
|
存储 Rust 开发者
Rust复合类型详解
Rust复合类型详解
6 0
|
5天前
|
存储 Rust 自然语言处理
Rust标量类型详解
Rust标量类型详解
8 0
|
2月前
|
Web App开发 Rust 安全
一名C++程序员的Rust入门初体验
作者最近尝试写了一些Rust代码,本文主要讲述了对Rust的看法和Rust与C++的一些区别。
148 3
|
2月前
|
Rust 安全 Java
Rust 语言的类型系统
假如让你设计编程语言的类型,你会怎么做? 要定义哪些类型? 类型之间如何交互? 是否需要类型推断? 类型系统是编程语言中用于定义和控制类型的一组规则。
Rust 语言的类型系统
|
2月前
|
Rust 算法 开发者
【Rust 控制流入门指南】 Introduction to Control Flow in Rust
【Rust 控制流入门指南】 Introduction to Control Flow in Rust
34 0
|
2月前
|
Rust 索引 Windows
Rust 原始类型之数组array内置方法
Rust 原始类型之数组array内置方法
96 0
Rust 原始类型之数组array内置方法