鹤仁
这个作者很懒,什么都没留下…
展开
-
Rust 日志
Rust日志记录及其重要性。日志记录框架的需求。日志记录框架及其特性。Rust中的日志记录软件包。原创 2021-12-05 21:46:10 · 961 阅读 · 0 评论 -
不安全的Rust 和外部函数接口
安全模式和不安全模式。Rust中的不安全操作。外部函数接口,以及与C语言交互。使用PyO3与Python交互。安全与不安全struct MyType;unsafe trait UnsafeTrait { unsafe fn unsafe_func(&self); fn safe_func(&self) { println!("Things are fine here!"); }} trait原创 2021-12-05 01:00:22 · 270 阅读 · 0 评论 -
Rust 宏与元编程
•什么是元编程。•Rust中的宏及其形式。•声明性宏、宏变量及类型。•重复构造。•过程宏。•宏的用例。•可用的宏程序库。什么是元编程?元编程是改变你查看程序中指令和数据方式的一种技术。它允许你像处理任何其他数据那样通过指令生成新的代码。无论使用何种语言构造的程序一般都包含两个实体:数据和操作数据的指令。通常程序的运行过程都涉及操纵数据。Rust宏的应用场景一般的经验法则是,宏可以在函数无法提供所需解决方案的情况下使用,其中的代码具有相当的重复性,或者在需要检查类型结构体并在编译期生成代原创 2021-12-04 23:12:30 · 671 阅读 · 0 评论 -
Rust 并发
程序执行模型。并发及其缺陷。作为并发执行单元的线程。Rust如何提供线程安全性。Rust中的并发基础知识。其他用于处理并发的程序库。程序执行模型即使应用程序在后台连接网络,桌面应用程序仍然可以继续正常工作。某个游戏程序同时更新数千个实体的状态,可在后台播放音乐并保持一致的帧速率。一个科学的、计算量庞大的程序会分割计算过程,以充分利用计算机硬件中的所有内核。Web服务器一次处理多个请求以最大化吞吐量。并发程序同时管理多个事务从而让人以为它们是同时发生的能力被称为并发,这种程序被称为并发原创 2021-11-21 23:03:50 · 892 阅读 · 0 评论 -
Rust 高级概念
•类型系统简介。•字符串。•迭代器。•闭包。•模块。代码块和表达式fn main() { // 使用裸代码块同时执行多个任务 let precompute = { let a = (-34i64).abs(); let b = 345i64.pow(3); let c = 3; a + b + c }; // match表达式 let原创 2021-10-31 23:06:23 · 487 阅读 · 0 评论 -
Rust 异常处理
异常处理异常处理简介。使用Option和Result类型从异常中恢复。Option和Result的组合方法。传递异常。不可恢复的异常。自定义异常和Error特征。异常处理简介3种异常可恢复异常是用户和环境与程序交互时预期会发生的异常。例如文件未找到(file notfound)或数字解析错误。不可恢复异常是违反契约或程序常量的异常,例如索引越界或除以零的操作(分母是零)。致命性异常是立即让程序终止运行的异常。这种情况包括内存不足和堆栈溢出。可恢复的异常Optionpub enum原创 2021-10-20 23:59:59 · 1662 阅读 · 0 评论 -
内存管理和安全性
内存管理和安全性程序和内存。内存分配和安全性。内存管理。堆栈和堆。安全三要素——所有权、借用及生命周期。智能指针类型。内存管理及其分类手动型:C语言采用了这种内存管理机制,且完全由程序员负责,在程序代码使用完内存之后调用free函数来释放内存。自动型:采用这种内存管理形式的语言包括一个额外的运行时线程,即GC,它作为守护线程与程序一起运行。半自动型:Swift等语言属于这一类别。它们没有作为运行时的一部分的内置专用GC,但提供了引用计数类型,这可以细粒度地实现自动化内存管理。内存分配简原创 2021-10-17 20:53:30 · 343 阅读 · 0 评论 -
Rust 类型、泛型和特征
Rust 创建泛型// generic_function.rsfn give_me<T>(value: T) {let _ = value;}fn main() { let a = "generics"; let b = 1024; give_me(a); give_me(b); }泛型结构体// generic_struct.rsstruct GenericStruct<T>(T);struct Container&l原创 2021-10-07 22:20:42 · 578 阅读 · 0 评论 -
Rust 测试
Rust 单元测试运行测试 rustc --test first_unit_test.rs// first_unit_test.rs#[test]fn basic_test() { assert!(true);}隔离测试代码// unit_test/src/lib.rs//我们想要测试的函数fn sum(a: i8, b: i8) -> i8 { a + b }#[cfg(test)]mod tests { fn sum_inputs_output原创 2021-09-21 23:21:01 · 319 阅读 · 0 评论 -
Cargo 管理项目
Rust 嵌套模块mod food { struct Cake; struct Smoothie; struct Pizza;}use food::Cakefn main() { let eatable = Cake; }原创 2021-09-21 22:47:11 · 163 阅读 · 0 评论 -
Rust (一)
RustRust 闭包Rust 条件和判断Rust match 表达式Rust 循环Rust 自定义数据类型 枚举和结构体Rust 类型上的函数和方法Rust impl 块 和枚举Rust module、import和use语句集合元组Rust 项目列表Rust 键/值对Rust 切片Rust 迭代器Rust 闭包fn main() { let doubler = |x| x * 2; let value = 5; let twice = doubler(value);原创 2021-09-20 22:58:51 · 169 阅读 · 0 评论