最后一种结构是“单位”结构体的形式,它只有类型名,没有成员: struct Concept; 这种空结构经常跟其他语法结合,比如实现trait。它很少单独使用。 enum Rust的enum是一个比较特殊的构造。一个enum有两层意思:首先它可以具体的定义几种可列举的情况,比如“空/非空”,“正常/错误”等等;其次,每种情况可以用类似结构...
方法是在struct(或enum、trait对象)的上下文中定义 第一个参数是self,表示方法被调用的struct实例 例子: #[derive(Debug)]// 加上打印调试信息 structRect{ w:u32, l:u32, } implRect{ fnget_area_struct(&self)->u32{// 这里使用借用(引用),不需要所有权,也可获得所有权或可变的借用 self.w *self....
struct Person {name: String,age: u32,}impl Person {// 这是构造函数,用于创建一个新的 Person 实例fn new(name: String, age: u32) -> Person {Person { name, age }}fn say_hello(&self) {println!("Hello, my name is {} and I'm {}.", self.name, self.age);}fn update_age(&mut...
struct Point(i32, i32, i32); 如果你想你的结构体没有任何的字段和属性,那你可以使用单元结构体。 struct Project; 我们在做代码调试的时候,需要注意使用 #[derive(Debug)] 对结构体进行了标记,这样才能使用 println!("{:?}", s); #[derive(Debug)] struct Person { name: String, age: u32, sex: ...
这种不拥有其他资源并且可以按位复制的类型称为复制类型。它们实现了 Copy Trait[1]。目前所有基本类型,如整数、浮点数和字符都是 Copy 类型。默认情况下,struct/enum 不是Copy,但你可以派生 Copy trait: #[derive(Copy,Clone)]struct Point{x:i32,y:i32,}#[derive(Copy,Clone)]enumSignedOrUnsignedInt{Signed...
Rust 允许我们通过 struct 和 enum 两个关键字来自定义类型:struct:定义一个结构体;enum:定义一个枚举;而常量可以通过 const 和 static 关键字来创建。结构体结构体有 3 种类型,分别是 C 风格结构体、元组结构体、单元结构体。先来看后两种:// 不带有任何字段,一般用于 traitstruct Unit; // 元组结构体,...
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) 枚举是一种自定义的数据类型,它可以表...
enumIpAddr{V4(String),V6(String), }lethome= IpAddr::V4(String::from("127.0.0.1"));letloopback= IpAddr::V6(String::from("::1")); enum比struct的一个优越之处在于:每一个变量都可以拥有不同类型的、不同数量的相关数据,比如: Copy ...
枚举(enums)是Rust语言中的重要特性,允许定义一个类型并列举所有可能的成员。通过枚举可以编码复杂的信息结构。Option枚举用于表示可能存在或不存在的值,是处理空值的理想选择。使用match表达式和模式匹配可以根据不同的枚举值编写相应的代码逻辑,而if let结构则提供了一种简洁的方式处理枚举,简化代码结构。
1、结构体(Struct) 2、枚举(Enum) 四、其他数据类型 1、切片(Slice) 2、Option类型 3、Result类型 总结 导言 Rust是一种现代的、安全的系统编程语言,注重内存安全和并发性。在Rust中,数据类型是程序中最基本的构建块之一。本篇博客将详细解释Rust的各种数据类型,并提供相关代码示例。