文章分类 -  代码世界 / rust

摘要:闭包是一种匿名函数,他可以捕获并存储其环境中的变量。 捕获外部变量 按引用捕获(默认行为,类似 &T) 按值捕获(类似 T) 可变借用捕获(类似 &mut T) let x = 5; let square = |num| num * x; println!("{}", square(3)); // 阅读全文
posted @ 2025-04-05 16:39 代码世界faq 阅读(21) 评论(0) 推荐(0)
摘要:📎 Clippy 学习总结:提高 Rust 代码质量的工具 🎯 1. 什么是 Clippy? ✅ Clippy 是 Rust 官方提供的静态代码分析工具,旨在通过检测常见错误、代码风格问题和潜在的安全隐患来帮助开发者编写更干净、更高效的 Rust 代码。 Clippy 通过 lints(警告/建 阅读全文
posted @ 2025-03-23 22:50 代码世界faq 阅读(226) 评论(0) 推荐(0)
摘要:📌 Rust 宏(Macro) Rust 中的 宏(macro) 是一种 元编程 机制,允许编写可扩展、动态生成的代码。相比于函数,宏能够: 在编译时展开,减少运行时开销 接受不同数量的参数,不像函数必须指定固定的参数 操作 Rust 代码结构,可以生成代码块、表达式、类型等 🌟 Rust 宏的 阅读全文
posted @ 2025-03-23 21:46 代码世界faq 阅读(32) 评论(0) 推荐(0)
摘要:✅ 智能指针(Smart Pointer) 🧠 智能指针不仅像普通指针一样存储数据的内存地址,还具有 自动管理内存 的功能,包括: 资源分配与释放(drop)。 引用计数(Rc、Arc)。 栈、堆数据的自动管理。 📚 常见的智能指针类型 1️⃣ Box<T> — 将数据存储在堆上 Box<T> 阅读全文
posted @ 2025-03-23 16:44 代码世界faq 阅读(57) 评论(0) 推荐(0)
摘要:Rust 全符号使用指南 常见 一、基础符号 1. 算术运算符 + :加法 - :减法 * :乘法 / :除法 % :取余 2. 赋值运算符 = :赋值 += :加后赋值 -= :减后赋值 *= :乘后赋值 /= :除后赋值 %= :取余后赋值 3. 比较运算符 == :等于 != :不等于 > : 阅读全文
posted @ 2025-03-15 00:21 代码世界faq 阅读(102) 评论(0) 推荐(0)
摘要:Rust 迭代器 (Iterator) 1️⃣ 什么是迭代器? 在 Rust 中,迭代器是一种对象,它实现了 Iterator 特征(trait)。最常见的用法是对集合进行遍历,比如数组、向量、HashMap 等。 核心定义: pub trait Iterator { type Item; fn n 阅读全文
posted @ 2025-03-15 00:19 代码世界faq 阅读(63) 评论(0) 推荐(0)
摘要:🌿 1. capitalize_words_vector 函数解析 fn capitalize_words_vector(words: &[&str]) -> Vec<String> { words.iter().map(|&word| capitalize_first(word)).collec 阅读全文
posted @ 2025-03-11 21:55 代码世界faq 阅读(99) 评论(0) 推荐(0)
摘要:Rust 生命周期(Lifetimes)学习总结 1️⃣ 生命周期的基本概念 Rust 的生命周期是一种保证引用有效性的机制,用来防止悬垂引用和数据竞争。 生命周期标注是告诉编译器不同引用之间的关系,以确保引用不会比其引用的数据活得更久。 生命周期不会改变数据的生存时间,而是检查引用的使用是否合法。 阅读全文
posted @ 2025-03-09 00:49 代码世界faq 阅读(70) 评论(0) 推荐(0)
摘要:在 Rust 中,方法的参数传递方式非常讲究所有权、借用和可变性。 通过以下几种方式来传递方法的参数: &self(不可变引用) &mut self(可变引用) self(值传递) mut self(可变的值传递) 1. &self — 不可变引用 语法:fn method(&self) 说明:&s 阅读全文
posted @ 2025-02-25 11:59 代码世界faq 阅读(85) 评论(0) 推荐(0)
摘要:Rust 的 trait 它定义了一组方法,允许不同类型实现这些方法,提供行为的抽象。用于泛型约束、共享行为和多态,类似于一种父接口(默认实现、多重继承、关联类型和泛型),trait还可以为已有stract进行扩展方法使用。 在 Rust 中,trait(特征)是一种定义共享行为的机制,类似于其他语 阅读全文
posted @ 2025-02-24 11:58 代码世界faq 阅读(49) 评论(0) 推荐(0)
摘要:Rust 泛型 Rust 中的泛型允许你编写更通用、灵活和可重用的代码。通过使用泛型,函数、结构体、枚举和方法可以操作多种数据类型,而无需为每种数据类型编写单独的实现。以下是对 Rust 泛型的全面学习总结,包含其基础概念、用法及常见应用。 1. 泛型基础 在 Rust 中,泛型用于函数、结构体、枚 阅读全文
posted @ 2025-02-23 16:32 代码世界faq 阅读(97) 评论(0) 推荐(0)
摘要:Rust 中的错误处理,主要可以分为两部分:错误类型(如 Result 和 Option)和 错误处理方式(如 match、unwrap、map_err 等方法)。 1. 错误类型 Rust 中有两种主要的类型来处理错误:Option 和 Result。 1.1 Option 类型 Option 类 阅读全文
posted @ 2025-02-10 10:19 代码世界faq 阅读(83) 评论(0) 推荐(0)
摘要:Rust 中的 Option<T> 类型学习 Option<T> 是 Rust 标准库中的一个枚举类型,表示一个值要么是 某个类型的值 (Some(T)),要么是 空 (None)。它用于处理可能不存在的值,而不是使用 null(Rust 没有 null)。 Option<T> 是 Rust 处理 阅读全文
posted @ 2025-01-31 22:03 代码世界faq 阅读(228) 评论(0) 推荐(0)
摘要:在 Rust 中,:: 是 路径分隔符,它的作用是用于访问某个模块、类型、方法或关联函数。它的使用场景包括以下几种情况: 1. 访问类型或函数的关联项 :: 用来访问某个类型(例如结构体、枚举、trait)的关联函数或者常量。例如,Vec::new() 访问 Vec 类型的 new 关联函数,i32 阅读全文
posted @ 2025-01-30 14:49 代码世界faq 阅读(116) 评论(0) 推荐(0)
摘要:HashMap 是 Rust 标准库中提供的一个哈希表实现,属于 std::collections 模块。它以键值对的形式存储数据,其中键是唯一的,每个键对应一个值。它通常用于存储不重复的值,并能够根据键快速访问值。 HashMap 提供了许多方法来方便地操作数据,下面是对 HashMap 的详细学 阅读全文
posted @ 2025-01-25 14:26 代码世界faq 阅读(241) 评论(0) 推荐(0)
摘要:Rust 中的模块(Module) 模块(Module) 是 Rust 中用来组织代码的主要工具,它允许你将代码划分为多个逻辑单元,从而提高可读性和可维护性。模块可以包含函数、结构体、枚举、常量、trait 等,也可以嵌套子模块。 模块的定义与使用 1. 模块的定义 可以使用 mod 关键字定义一个 阅读全文
posted @ 2025-01-24 11:48 代码世界faq 阅读(183) 评论(0) 推荐(0)
摘要:String 类型的概述 在 Rust 中,String 是一种可变的、堆分配的、动态大小的字符串类型。与 &str(字符串切片)不同,String 允许你对字符串进行修改,并且可以动态地增长或缩小。 String 的特性 堆分配: String 类型将数据存储在堆上,意味着它可以动态地分配和释放内 阅读全文
posted @ 2025-01-21 18:00 代码世界faq 阅读(181) 评论(0) 推荐(0)
摘要:在 Rust 中,enum 是一种非常强大的类型,它允许定义一组具有关联性的可能值。与许多编程语言中的枚举不同,Rust 的枚举不仅可以是简单的枚举值,还可以包含数据,甚至可以和结构体一样复杂。 以下是对 enum 的全面学习和总结: 1. 基本枚举 枚举的基本形式是定义一组可能的值: enum D 阅读全文
posted @ 2025-01-21 15:30 代码世界faq 阅读(116) 评论(0) 推荐(0)
摘要:在 Rust 中,结构体(struct)是定义数据类型和管理复杂数据的核心工具,类似于其他语言中的类,但它不支持内置继承。Rust 提供了三种基本的结构体形式:常规结构体(regular struct)、元组结构体(tuple struct)和单元结构体(unit struct)。下面详细讲解: 1 阅读全文
posted @ 2025-01-20 21:50 代码世界faq 阅读(115) 评论(0) 推荐(0)
摘要:可变性、所有权和借用 在 Rust 中,可变性(mutability)、所有权(ownership)和借用(borrowing)是三个核心概念,它们在一起决定了如何在内存中管理数据、避免数据竞争以及确保程序的安全性。这些概念互相联系,共同维护了 Rust 的内存安全性。 让我们逐一展开这些概念,并了 阅读全文
posted @ 2025-01-17 18:10 代码世界faq 阅读(186) 评论(0) 推荐(0)