struct Rectangle { width: u32, height: u32, } impl Rectangle { fn area(&self) -> u32 { self.width * self.height } } fn main() { let rect = Rectangle { width: 10, height: 20, }; println!("Area: {}", rect.area()); } 2、枚举(Enum) 枚举是一种自定义的数据类型,它可以表...
enum被“降维”成struct 就C内存布局而言,struct的alignment是全部字段alignment中的最大值。 字段union.Variant0是单字段元组结构体,且字段类型是基本数据类型。所以,union.Variant0.alignment = union.Variant0.size = 1 Byte 字段union.Variant1是单位类型。所以,union.Variant1.alignment = 1 Byte和union.Variant...
Quit,//Quit变体不持有数据Move {x:i32,y:i32},//持有的数据是类型是结构体StructWrite(String),ChangeColor(i32,i32,i32)//持有的数据类型是元组Tuple}implMessage{fncall(&self){//...} } Option Enum 系统级的标准库内置声明的枚举 表示值存在或不存在两种变体的枚举。变体 None 就相当于其他语言中的nu...
enum:声明枚举类型; extern:链接外部库; false:布尔值 false; fn:声明函数; for:循环语句; if:条件语句; impl:为类型(类型别名)实现 trait 或方法; in:for 循环中使用,表示一个迭代器,把集合中的元素逐个取出; let:声明变量; loop:无限循环; match:模式匹配; mod:创建和使用 rust 模块; move:将值转移到...
结构体类型(Struct Types):一种自定义的数据类型,可以包含多个不同类型的字段。结构体可以通过定义来指定其字段和属性。 枚举类型(Enum Types):表示一个可能取多个值的变量。在 Rust 中,枚举类型使用enum关键字定义,每个可能的取值都是一个不同的枚举成员。
1、结构体(Struct) 2、枚举(Enum) 四、其他数据类型 1、切片(Slice) 2、Option类型 3、Result类型 总结 导言 Rust是一种现代的、安全的系统编程语言,注重内存安全和并发性。在Rust中,数据类型是程序中最基本的构建块之一。本篇博客将详细解释Rust的各种数据类型,并提供相关代码示例。
使用枚举具有更多优势。目前,我们需要更多地考虑我们的IP地址类型,因此我们无法存储实际的IP地址数据; 我们只知道那是什么。可以参考struct来解决该问题: fn main() { enum IpAddrKind { V4, V6, } struct IpAddr { kind: IpAddrKind, address: String, ...
Rust 允许我们通过 struct 和 enum 两个关键字来自定义类型:struct:定义一个结构体;enum:定义一个枚举;而常量可以通过 const 和 static 关键字来创建。结构体结构体有 3 种类型,分别是 C 风格结构体、元组结构体、单元结构体。先来看后两种:// 不带有任何字段,一般用于 traitstruct Unit; // 元组结构体,...
struct函数 特殊的struct enum Option Option< T> 枚举与Null值 if let 控制流 struct 定义、初始化和更新struct struct 类似于其他语言的Class。 实例化时必须为所有字段赋值,struct中的字段是无序的,更新struct需要注意: 要修改struct的字段,必须使用mut 可变的 struct 实例,所有字段都是可变的,不允许某个字段...
最后一种结构是“单位”结构体的形式,它只有类型名,没有成员: struct Concept; 这种空结构经常跟其他语法结合,比如实现trait。它很少单独使用。 enum Rust的enum是一个比较特殊的构造。一个enum有两层意思:首先它可以具体的定义几种可列举的情况,比如“空/非空”,“正常/错误”等等;其次,每种情况可以用类似结构...