自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(319)
  • 资源 (6)
  • 收藏
  • 关注

原创 第十六章 智能指针

本文介绍了Rust中智能指针的概念与用法。智能指针是拥有额外元数据和能力的数据结构,相比普通引用具有所有权管理能力。主要内容包括: 基础智能指针Box:用于堆分配、递归类型等场景,实现了Deref和Drop trait,可自动解引用和释放内存。 引用计数Rc:支持多所有权共享数据,通过引用计数管理生命周期,但仅提供不可变访问。 内部可变性RefCell:在运行时检查借用规则,允许在不可变引用下修改内部数据。 组合应用:Rc与RefCell结合可实现多所有者且可修改的数据结构。 循环引用问题:通过Weak弱引

2026-08-03 09:05:32 436

原创 15.4.循环和迭代器的性能比较

本文通过基准测试比较了Rust中使用循环和迭代器查找字符串的性能差异,结果显示两者性能相近。作者指出迭代器作为Rust的零成本抽象,编译后代码与手写低级代码效率相当,且能应用循环展开等优化。文章强调闭包和迭代器融合了函数式编程理念,在保证高性能的同时提升代码可读性,体现了Rust零成本抽象的设计目标。建议开发者可放心使用这些高级特性,无需担心性能损失。

2026-06-12 14:27:42 310

原创 15.3.改进我们之前的输入、输出项目

本文介绍了如何通过迭代器改进Rust代码。首先讲解了在Config::build函数中使用迭代器替代数组索引和clone方法,通过next()方法直接获取参数值并转移所有权,使代码更简洁高效。其次展示了如何在search函数中用迭代器适配器(filter和collect)替换传统的for循环,消除可变状态,提升代码可读性和潜在并发安全性。最后讨论了迭代器与循环的选择,指出虽然迭代器学习曲线较陡,但能更清晰地表达逻辑意图,且通过迭代器的惰性求值特性可能带来性能优势。这些改进使代码更加函数式和现代化。

2026-06-12 14:25:52 259

原创 15.2.使用迭代器处理一系列子项

本文介绍了Rust中的迭代器模式,主要包括: 迭代器是惰性加载的,需要消费方法才会执行; Iterator trait的核心是next方法,返回Some(Item)或None; 迭代器分为消费性适配器(如sum)和迭代器适配器(如map); 可通过闭包捕获环境变量来实现过滤等复杂操作; 示例展示了iter、into_iter、iter_mut等不同迭代器创建方式,以及map、filter等常用方法的使用。迭代器模式简化了集合遍历,提高了代码复用性和灵活性。

2026-06-12 14:22:22 276

原创 第十五章 函数式语言:迭代器和闭包

本文介绍了Rust语言中函数式编程的两个重要特性:闭包和迭代器。闭包是可以捕获环境的匿名函数,有三种捕获方式(不可变借用、可变借用、所有权转移),并支持FnOnce、FnMut和Fn三种trait。文章通过T恤库存管理示例演示了闭包的实际应用,并对比了闭包与函数的异同。迭代器则是处理元素序列的高效方式。这些特性使Rust代码更简洁高效,是编写地道Rust代码的关键。文中还详细讲解了闭包的类型推断、所有权转移和性能特点。

2026-06-11 17:14:41 268

原创 14.6.将错误重定向到标准错误

本文介绍了Rust中标准输出和标准错误的区别及使用方法。通过println!宏只能向标准输出设备显示信息,而eprintln!宏则用于向标准错误流输出错误信息。作者演示了如何通过重定向符号">"将标准输出保存到文件,同时保持错误信息显示在屏幕上。最后修改程序代码,将错误信息改用eprintln!宏输出,实现了成功信息写入文件、错误信息显示在屏幕上的功能。文章总结了如何利用Rust的标准I/O操作编写更有效的命令行程序,涵盖参数处理、文件操作和错误显示等内容。

2026-06-11 17:05:58 340

原创 14.5.使用环境变量

本文介绍了如何在Rust程序中实现大小写敏感/不敏感的搜索功能。通过环境变量IGNORE_CASE来控制搜索行为,避免了每次运行都要设置参数的麻烦。采用TDD开发流程: 首先编写测试用例,区分大小写敏感(case_sensitive)和不敏感(case_insensitive)两种情况 实现search_case_insensitive函数,通过to_lowercase()统一转换为小写比较 在Config结构体新增ignore_case字段,通过env::var检查环境变量 run函数根据配置决定调用哪个

2026-06-11 17:01:08 186

原创 14.4.测试驱动开发

本文摘要:文章介绍了如何使用测试驱动开发(TDD)方法实现Rust文件搜索功能。首先将搜索逻辑抽离到lib.rs文件,然后编写失败的测试用例定义预期行为(搜索"duct"返回匹配行)。随后逐步实现search函数:通过遍历文件内容行、检查是否包含查询字符串、收集匹配行。重点讨论了Rust生命周期注解的必要性,指出只需对contents参数和返回值声明相同生命周期。最终测试通过后,演示了程序搜索"frog"、"body"等单词的实际运行效果。整个过程

2026-06-11 16:57:05 231

原创 GPUI 框架完整学习教程

GPUI 框架学习教程摘要 本教程系统讲解基于Zed编辑器开发的GPUI框架,这是一个用Rust编写的高性能GPU加速GUI框架。教程从基础到进阶共25章,内容涵盖: 核心特性:即时模式渲染、响应式编程、类型安全API,支持60fps+流畅动画 学习路径: 基础:Hello World、布局系统(Flexbox/Grid)、样式配置 核心:事件处理、组件开发、状态管理、虚拟滚动列表 进阶:多窗口管理、拖放系统、动画引擎、性能优化 特色功能:声明式UI语法、主题系统、异步任务支持、剪贴板集成 前置要求:需掌握

2026-06-08 23:53:46 733

原创 14.3.重构

本文介绍了如何通过重构改进Rust程序,重点解决了四个核心问题:1. 主函数职责过多,通过将业务逻辑分离到lib.rs中实现关注点分离。2. 配置变量管理混乱,使用Config结构体封装相关参数。3. 错误信息不够友好,用Result替代panic并提供明确提示。4. 参数不足时的错误处理,通过检查参数数量并返回用户友好消息。重构步骤包括:创建parse_config函数抽取参数解析逻辑、引入Config结构体管理配置、将parse_config转为Config::new方法、改进错误处理机制、最后将核心业

2026-06-04 16:15:12 262

原创 14.2.读文件

本文介绍了如何通过Rust程序从指定文件路径读取文本内容。示例代码使用std::fs模块读取名为poem.txt的诗歌文件,该文件包含艾米丽·狄更斯的诗歌文本。程序通过命令行参数接收文件路径,使用read_to_string方法读取文件内容并输出。虽然当前功能正常运行,但作者指出代码存在两个主要问题:主函数职责过多(应遵循单一职责原则),以及缺乏完善的错误处理机制。文章强调在项目早期进行代码重构的重要性,因为小规模代码更容易调整优化。示例运行结果显示成功读取并输出了诗歌文件内容。

2026-06-04 16:06:59 276

原创 第十四章 一个输入和输出项目:构建一个命令行程序

本章介绍了如何使用Rust创建一个简单的命令行grep工具。主要内容包括: 项目概述:通过构建简化版grep工具,练习Rust文件操作、输入输出等核心概念 参数处理: 使用std::env::args获取命令行参数 将参数保存到变量(query和file_path) 处理参数索引(跳过程序名参数args[0]) 基础实现: 读取两个必需参数(搜索字符串和文件名) 验证参数获取功能 后续方向:提及将扩展错误处理、文件读取和字符串搜索功能 通过这个项目,开发者能学习Rust标准库使用、参数处理等基础知识,为构建

2026-06-04 16:04:29 320

原创 13.3.测试的组织方式

本文摘要: Rust测试分为单元测试和集成测试。单元测试位于src目录各文件中,使用#[cfg(test)]标记测试模块,可测试私有功能。集成测试位于tests目录,作为外部调用者仅测试公共API,每个测试文件编译为独立crate。集成测试可使用子模块组织代码,通过mod.rs文件避免输出干扰。二进制项目需通过库箱暴露功能才能进行集成测试。两种测试对确保代码质量都至关重要,Rust的类型系统虽能预防部分错误,但仍需测试保证逻辑正确性。

2026-06-04 16:00:00 377

原创 13.2.控制测试如何运行

本文介绍了Rust测试工具cargotest的使用方法。cargotest默认并行运行所有测试并捕获输出,可通过参数调整测试行为。主要功能包括:1)使用--test-threads控制并行度;2)通过--show-output显示成功测试的输出;3)按名称筛选测试用例;4)使用#[ignore]标记耗时测试,配合--ignored单独运行被忽略的测试。文章详细说明了如何通过命令行参数控制测试范围、输出格式和运行方式,帮助开发者高效执行测试并获取所需信息。

2026-05-25 16:55:02 402

原创 第十三章 编写自动化测试

Rust测试机制解析 摘要:Rust通过类型系统保证内存安全和数据竞争防护,但无法验证业务逻辑正确性。测试机制填补了这一空白,主要包括: 测试结构:使用#[test]属性标记测试函数,通过assert!系列宏验证结果 测试类型:单元测试验证独立功能,集成测试验证模块协作 错误处理:通过should_panic属性测试预期panic,支持自定义错误消息 返回值测试:支持Result<T,E>作为测试返回值,可使用?操作符简化测试代码 测试组织:自动生成的测试模块提供基础结构,开发者只需添加具体测试

2026-05-25 16:45:58 426

原创 12.3.使用生命周期使引用一直有用

Rust生命周期机制解析 摘要: Rust的生命周期系统通过编译时检查确保引用有效性,防止悬空引用和数据竞争。生命周期标注主要应用于函数返回引用、结构体包含引用等场景。编译器通过借用检查器比较作用域判断引用合法性,要求被引用者生命周期必须长于引用者。函数签名中的生命周期参数建立了输入与输出引用的关系,结构体中的引用字段也需要生命周期标注。Rust通过生命周期省略规则简化常见场景的标注,但复杂情况仍需显式声明。静态生命周期'static表示整个程序运行期有效的引用。生命周期机制与泛型、trait共同构成了Ru

2026-05-15 16:18:08 525

原创 12.2.在接口中使用泛型

Rust中的Trait(特性)是定义共享行为的接口机制,类似于其他语言的接口概念。通过trait关键字可以定义一组方法签名,类型通过impl Trait for Type语法实现这些方法。Trait支持默认实现、作为函数参数和返回值使用,并通过Trait Bound约束泛型类型。关键特性包括:孤儿规则防止实现冲突、全覆盖实现批量扩展功能、where子句简化复杂约束。Trait的核心思想是描述类型"能做什么"而非"是什么",为Rust的类型系统提供了灵活的多态支持,同时

2026-05-14 09:34:32 384

原创 第十二章 泛型、接口和生命周期

本文介绍了Rust中泛型编程的核心概念。泛型允许开发者使用抽象类型代替具体类型,通过<T>语法实现函数、结构体和枚举的通用性。文章详细讲解了如何在函数参数、结构体字段和方法实现中使用泛型,特别展示了Option<T>和Result<T,E>等标准库枚举的泛型应用。Rust的泛型通过编译时单态化实现零运行时开销,将泛型代码转换为具体类型代码,既保持了类型安全又确保了执行效率。关键点包括:泛型函数定义、结构体泛型字段、impl<T>方法实现,以及泛型在编译期的具体

2026-05-14 09:28:15 555

原创 第十一章 错误处理

Rust错误处理机制解析 Rust采用独特的错误处理方式,将错误分为可恢复错误(Result<T,E>)和不可恢复错误(panic!)。与主流语言的异常机制不同,Rust要求开发者显式处理可能的错误情况。对于可恢复错误,推荐使用Result枚举配合?运算符进行传播;对于不可恢复错误则使用panic!终止程序。文章详细介绍了panic的使用场景、配置策略(unwinding/abort)以及Result的各种处理方法(match/unwrap/expect/?),并对比了不同场景下的最佳实践选择。

2026-05-09 10:52:25 356

原创 onPaint函数流程图

本文介绍了LightGrid表格控件的onPaint函数绘制流程。该流程包含5个关键阶段:1)初始化GC对象和滚动条;2)绘制列头区域;3)循环绘制可见行单元格(包括普通单元格、行头和固定列);4)处理网格线绘制;5)性能优化点如剪裁区域和坐标缓存。文章详细说明了坐标系转换规则、选中状态处理以及空单元格绘制等特殊场景,展示了该控件如何通过只渲染可见区域实现高效的大数据量表格显示。

2026-05-01 23:41:50 451

原创 DBeaver的LightGrid 类所有函数详细分析

DBeaver的LightGrid类是一个功能丰富的表格控件,主要包含七大核心功能模块: 初始化管理:包括构造函数、样式检查和基础资源初始化,强制使用双缓冲减少闪烁。 数据管理:提供递归数据收集、嵌套行处理和多种数据刷新方式,支持保持状态刷新和局部刷新。 列管理:支持多级列结构、固定列处理和坐标定位,包含列创建、查找和索引计算功能。 行管理:实现行对象获取、元素查找和坐标定位,支持基于屏幕坐标的行索引查询。 渲染绘制:采用分层绘制策略,包括列头递归绘制、空白区域处理和自定义绘制扩展点。 尺寸计算:动态计算表

2026-05-01 23:37:07 621

原创 第十章 通用集合

本文介绍了Rust标准库中三种核心集合类型:向量(Vec<T>)、字符串(String/&str)和哈希映射(HashMap<K,V>)。向量是动态数组,支持高效的元素访问和修改;字符串严格采用UTF-8编码,强调安全性而非便捷索引;哈希映射提供键值存储,通过entryAPI实现安全更新。每种集合都有独特的内存管理方式和所有权规则:向量和字符串数据存储在堆上,哈希映射键值遵循移动语义。文章详细说明了各集合的创建、访问、修改方法,特别强调了Rust特有的安全机制,如get()方

2026-04-29 16:11:27 528

原创 第九章 包、箱和模块

本文介绍了Rust代码组织的最佳实践。主要内容包括:1. 模块系统:使用mod关键字组织代码,通过pub控制可见性,采用绝对路径和相对路径访问模块成员。2. 文件拆分:当模块规模增长时,可将代码拆分到独立文件中,保持模块树结构不变。3. 使用技巧:利用use创建路径快捷方式,通过pub use重新导出API,使用as解决命名冲突。4. 结构体和枚举的可见性控制:结构体字段默认私有需显式公开,枚举变体随枚举自动公开。5. 项目结构建议:二进制箱调用库箱,保持清晰的API边界,隐藏实现细节。这些实践能有效提升代

2026-04-24 15:37:45 416

原创 8.3.使用if let和let else实现简明的程序流控制

Rust 中的 if let 和 let else 语法是 match 表达式的简洁替代方案。if let 适用于只关心一种匹配模式的情况,能避免 match 必须处理所有分支的冗余代码。当需要处理不匹配情况时,可以添加 else 分支。let else 语法则更进一步,专门用于"匹配成功则绑定,失败则提前返回"的场景,使主逻辑更清晰。这两种语法与 match 各有所长:match 确保完整性检查,if let 适合简单条件绑定,let else 则优化了错误处理流程。实际开发中应根据场

2026-04-22 16:12:34 441

原创 8.3 使用if let和let else实现简明的程序流控制

Rust中的if let语法可以简化match表达式,当只需要处理特定分支时。相比match必须处理所有分支,if let只需关注需要的分支,并可结合else处理其他情况。示例展示了从match到if let的转换,以及如何使用let else语法更清晰地解构枚举值并处理特定分支。这种方法特别适用于只需处理枚举类型中部分情况的场景,使代码更简洁高效。

2026-04-22 10:56:18 102

原创 8.2 match控制流结构

Rust的match表达式提供强大的模式匹配功能,能够处理枚举、Option<T>等多种数据类型。它可以精确匹配特定值,使用_占位符处理剩余情况,并通过编译器强制检查确保所有可能性都被覆盖。match支持单行表达式和多行代码块,还能解构带值的枚举类型。对于Option<T>,可以匹配Some和None分别处理。如果分支过多,可用other或_通配符简化代码。这种全面的模式匹配机制使Rust能够安全高效地处理各种控制流场景。

2026-04-22 10:48:55 79

原创 第八章 枚举的定义

本文介绍了Rust中枚举类型(enum)的定义和使用方法。主要内容包括:1) 枚举的基本语法和使用场景;2) 如何将值与枚举类型关联;3) 枚举与结构体的比较;4) Option枚举类型的特殊用法。通过IP地址版本的示例,展示了枚举如何简化代码结构,并详细说明了Option<T>枚举在处理空值时的优势。文章还演示了枚举方法的定义、值的提取等实用技巧,帮助读者更好地理解Rust枚举的强大功能。

2026-04-20 16:59:05 398

原创 7.3.结构体-方法

本文介绍了Rust中方法的概念及其实现方式。方法必须归属于结构体、枚举或trait对象,与函数的区别在于方法必须通过实例调用且第一个参数总是self。文章通过Rectangle结构体的示例展示了如何定义和调用方法,包括基本方法、带参数的方法以及关联函数。特别说明了Rust的自动引用和解引用特性简化了方法调用,以及如何通过多个impl块为同一结构体添加功能。最后强调了结构体在组织相关数据和功能方面的重要性,使得代码更加清晰和模块化。

2026-04-16 22:56:06 385

原创 7.2.结构体-示例

本文展示了如何通过结构体重构计算长方形面积的Rust程序。首先使用基本变量实现功能,然后逐步改进:1)使用元组增强结构性;2)引入结构体提高代码可读性;3)通过#[derive(Debug)]注解实现调试输出;4)比较println!和dbg!宏的区别。重点演示了结构体如何更好地组织相关数据,以及Rust的调试工具使用方法,最终实现了更清晰、可维护的面向对象风格代码。整个过程体现了Rust从过程式到结构化编程的演进思路。

2026-04-16 10:52:04 248

原创 第七章 结构体

本文介绍了Rust中结构体的基本概念和使用方法。结构体(struct)是一种包含属性名称和类型的复合数据类型,与元组的主要区别在于包含属性名称。文章详细说明了结构体的定义语法、实例化方式、属性访问和修改方法,并介绍了结构体更新语法、元组结构体和单元结构体等特殊形式。此外,还讨论了结构体数据所有权问题,指出若要在结构体中使用引用类型,必须使用生命周期来确保数据有效性。通过多个代码示例,展示了结构体的各种用法,包括属性简写、方法返回和元组结构体的定义等。

2026-04-16 09:27:16 354

原创 2.2 复合类型

Rust中的元组和数组都是固定长度的复合类型,但存在关键区别:元组可存储不同类型元素(异构),通过索引或解构访问;数组要求同类型元素,支持切片和内置方法。两者都存储在栈上,支持模式匹配和类型推导。元组适用于组合少量异构数据(如函数多返回值),数组适合存储同构数据集合。访问时需注意索引越界问题,直接越界会编译报错,间接越界则会导致运行时错误。

2025-10-27 21:05:29 411

原创 第二章 数据类型

Rust是静态类型语言,数据类型分为标量类型和复合类型。标量类型包括整型(i8/u8等)、浮点型(f32/f64)、布尔型和字符型(char),各自具有固定字节长度和取值范围。整型支持多种进制表示,并定义了溢出处理机制(调试模式报错/发布模式环绕)。数值运算支持基本算术操作(加减乘除取余)。字符型采用Unicode编码,占4字节。类型由显式定义或编译器推断,推断失败会报错。

2025-10-27 21:01:50 537

原创 1.3 常量

本文介绍了编程中的常量概念及其特性。常量是不可更改的值,其值在编译时确定,作用域内有效。通过Rust代码示例展示了常量的定义方式,并说明同一作用域内不能重复定义同名常量。文章对比了常量与变量的主要区别:常量不可变、必须显式类型注解、可全局作用域等。最后指出常量的适用场景,如配置参数、数字常数等在程序生命周期中不变的量。

2025-10-22 10:55:37 243

原创 1.2 变量的重新赋值——遮蔽

Rust中的遮蔽(Shadowing)允许在同一作用域内重新声明同名变量,甚至可以改变变量类型。遮蔽会创建新变量,旧变量不再可用。与可变变量(mut)不同,遮蔽采用重新声明(let)方式,能更改变量类型,而mut变量只能修改值。示例展示了遮蔽的基本用法、类型转换和局部作用域特性,适用于需要临时转换变量类型的场景。这种机制提供了比可变变量更灵活的类型转换能力,同时保持了Rust的安全特性。

2025-10-21 16:08:58 291

原创 第一章 不可变的变量

Rust语言中变量默认是不可变的(immutable),这是其独特特性。示例代码尝试修改不可变变量x时会报错"cannot assign twice to immutable variable"。如需可变变量,需使用mut关键字声明:let mut x=5。通过比较错误代码和正确代码的执行结果,展示了Rust的变量可变性控制机制。这一特性有助于提高代码安全性,防止意外修改变量值。修改后的可变变量代码能正常执行并输出预期结果。

2025-10-21 15:30:44 227

翻译 Rust代码示例——24.2.演练场

Rust演练场提供了一种通过web界面体验Rust编程的方式。在mdbook中,可以通过添加"editable"关键字使代码块可交互,读者可修改并运行示例代码。使用"ignore"关键字可跳过编译测试。此外,通过在文档中添加html_playground_url属性,可实现类似官方文档的"Run"按钮功能,点击后将在演练场打开代码。这些特性增强了Rust文档的交互性,便于读者实践学习。

2025-09-10 14:44:56 223

翻译 Rust代码示例——24.1.文档

Rust文档工具使用指南 本文介绍了Rust的文档工具rustdoc的使用方法。主要内容包括:使用cargodoc构建文档并自动打开浏览器;运行测试的命令区别;文档注释的格式要求(///开头,支持Markdown);结构体和方法的文档示例;文档测试的编写和运行方法;以及三个重要的文档属性:#[doc(inline)](内联文档)、#[doc(no_inline)](禁止内联)和#[doc(hidden)](隐藏文档内容)。这些工具和属性帮助开发者生成高质量的API文档,其中rustdoc被Rust标准库广泛

2025-09-10 11:00:31 217

翻译 Rust代码示例——24.元数据

标题虽不能直接指导编程,但提供了工具链和底层支持以优化开发体验,如rustdoc自动生成库文档,演练场整合Rust示例代码便于测试。这些功能简化了编程流程,提升了开发效率。

2025-09-10 10:57:43 176

翻译 Rust代码示例——23.兼容性

Rust语言引入了原始标识符(r#)来解决关键字冲突问题。当新版本引入的关键字与旧代码中的标识符重名时,可以通过在标识符前加r#来使用这些保留字。例如,若旧库函数名"try"与新关键字冲突,可通过foo::r#try()调用。这一机制保障了代码的向后兼容性,使老代码能继续使用成为关键字的标识符。

2025-09-10 10:09:40 136

翻译 Rust代码示例——22.1.内联汇编

Rust通过asm!宏支持内联汇编,允许在代码中直接嵌入汇编指令。这主要用于性能优化或硬件访问场景,但需注意安全风险,必须包含在unsafe块中。内联汇编支持x86、ARM、AArch64和RISC-V架构,支持输入输出操作数、显式寄存器指定、ABI调用约定等功能。汇编模板支持格式化参数,可使用in、out、inout等限定符控制寄存器分配。此外还支持标签复用、内存操作数和多种优化选项(如pure、nomem等),以帮助编译器优化生成的代码。需谨慎处理寄存器占用问题,避免未预期的副作用。

2025-09-09 17:44:52 398

Rust代码示例,是学习Rust语言的最佳向导 本文翻译自Rust的官方文档:Rust By Example

本文翻译自Rust的官方文档:Rust By Example。原文链接地址:https://doc.rust-lang.org/rust-by-example/index.html Hello World——按照传统的惯例,从“你好世界”开始rust的代码之旅 Primitives——学习有符号整形,无符号整形和其他基本类型 Custom Types——结构和枚举类型 Variable Bindings——可变的绑定,作用域和遮蔽 Types——学习类型的定义和更改 Conversion——不同类型之间的转换,例如:字符串,整形和浮点类型 Expressions——学习表达式和如何使用它们 Flow of Control——if/else,for和其他 Functions——关于方法、闭包和高序函数 Modules——使用模块来组织代码 Crates——在Rust中一个crate是一个编译单元。学习建立一个库。 Cargo——详细介绍官方Rust打包管理工具的一些基本特性 Attributes——属性是应用到某些模块、crate或子项目的元数据 Generics——学习写一个函数或数据类型可以使用不同的参数类型 Scoping rules——在拥有者、借用和生命周期中扮演重要角色的作用域 Traits——定义未知类型的方法的集合 Macros——宏是一种编写代码的方式,它用于编写其他代码中,也被认为是元编程 Error Handling——学习Rust处理错误的方式 Std library types——学习std标准库提供的一些自定义类型 Std misc——文件处理和线程的自定义类型

2025-09-10

给BW的数据存储对象建立索引

为了提高SAP BW中DSO的查询效率,需要对DSO建立索引

2015-06-19

使用ActiveMQ 5.X

为了有助于使用Apache ActiveMQ 5,你也许希望从Version 5 Getting Started手册或Configuring Version 5 Transports开始。除此之外,下面还有一份手册列表:  Configure version 5 Brokers(版本5代理的配置)  Configuring Version 5 Transports(版本5端口配置)  LDAP Broker Discovery Mechanism(LDAP代理查找机制)  Version 5 Examples(实例)  Version 5 Getting Started(开始)  Version 5 Hello World(你好)  Version 5 Initial Configuration(初始化配置)  Version 5 Installation(安装)  Version 5 Performance Tuning(性能调整)  Version 5 Run Broker(运行代理)  Version 5 Topologies(架构)  Version 5 Web Samples(Web实例)  Version 5 XML Configuration(XML配置)

2012-02-14

信息系统项目管理师教程

信息系统项目管理师教程 第四章 项目可行性研究与评估 对项目所涉及到的领域、投资的额度、投资的效益、采用的技术、所处的环境、融资的措施、产生的社会效益等方面进行全面的评价。

2014-05-02

电子商务网站建设-第一章电子商务前期策划

以赢在电子商务——php+mysql电商网站设计与制作为蓝本进行的课程

2014-07-19

DB2 odbc 驱动程序 windows 64位

数据库DB2的windows操作系统64位odbc 驱动程序 windows 64位,可以提供通过odbc连接DB2数据库。

2020-11-20

Linux 网络配置与应用

Linux 网络配置与应用 以Ubuntu为系统讲述linux的网络配置与应用

2014-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除