^(* ̄(oo) ̄)^

  • 首页
  • 博客
  • 文档
  • 网盘
  • 仓库
  • 简介
Keep Learning
文档

Rust Basic 16 - Fearless Concurrency

Rust 的主要目标之一是处理并发编程,保证程序的内存安全和高效运行。通过利用 Rust 的所有权和类型检查系统,使许多并发错误可以在编译时检测到,从而避免了运行时错误。Rust 的 无畏并发(fearless concurrency) 使得编写代码变得更加容易,而且易于重构,不会引入新的错误。 使用线程同时运行代码 Rust 中的线程(threads)是用于同时运行程序中独立部分的功能。在多线程上下文中编程需要仔细思考,因为线程可以同时运行,所以不同线程上代码的运行顺序无法预知,可能会导致问题,例如竞争状态(线程…

2023年8月27日 597点热度 九州安所如 阅读全文
文档

Rust Basic 15 - Smart Pointers

指针是一个通用概念,指的是一个包含内存地址的变量,这个地址指向或者“指向”其他数据。在 Rust 中,最常见的指针是引用(reference),它使用 & 符号表示,并且借用它所指向的值。引用没有任何特殊的功能,除了指向数据之外,并且没有开销。 智能指针是数据结构,它的行为类似于指针,但也具有附加的元数据和功能。智能指针的概念并不局限于 Rust:智能指针起源于 C++,并且在其他语言中也存在。Rust 在标准库中定义了各种智能指针,提供了比引用更多的功能。为了探讨智能指针的一般概念,我们将看几个不同的智能…

2023年8月13日 644点热度 九州安所如 阅读全文
文档

Rust Basic 14 - Cargo and Crates.io

Cargo 的一些更高级的功能: 通过发布配置文件自定义您的构建过程 在 crates.io 上发布库 使用工作区组织大型项目 从 crates.io 安装二进制文件 使用自定义命令扩展 Cargo 自定义release配置文件 在 Rust 中,发布配置是预定义的可自定义配置文件,具有不同的配置,允许程序员更好地控制编译代码的各种选项。每个配置文件都是独立配置的。 Cargo 有两个主要的配置文件:当运行 cargo build 时使用的 dev 配置文件和当运行 cargo build --release 时使…

2023年7月5日 728点热度 九州安所如 阅读全文
文档

Rust Basic 13 - Functional Language Features: Iterators and Closures

Rust的设计灵感来自许多现有的语言和技术,其中一个重要的影响是函数式编程。函数式编程风格通常包括将函数作为值使用,方法包括在参数中传递它们、从其他函数返回它们、将它们分配给变量以供以后执行等等。 rust的主要特征与函数式的特性相似: 闭包(Closures):一种类似于函数的构造,可以存储在变量中。 迭代器(Iterators):一种处理一系列元素的方法。 如何使用闭包和迭代器来改进第 12 章中的 I/O 项目。 闭包和迭代器的性能(剧透:它们比你想象的要快!)。 其他的 Rust 特性,例如模式匹配和枚举类…

2023年6月2日 773点热度 九州安所如 阅读全文
文档

Rust Basic 12 - An I/O Project: Building a Command Line Program

Accepting Command Line Arguments 创建一个项目(minigrep),接受两个命令行参数:文件路径和要搜索的字符串。 读取参数值 需要std::env::args来读取命令行参数的值。此函数返回一个命令行参数的迭代器给minigrep。 迭代器:1.迭代器生成一系列值。2.我们可以调用迭代器上的collect方法将其转换为包含迭代器生成的所有元素的集合,例如vector。 在需要的函数嵌套在多个模块中的情况下,选择将父模块而不是函数引入作用域。这样可以使用std::env中的其他函数。…

2023年5月23日 814点热度 九州安所如 阅读全文
文档

Rust Basic 11 - Writing Automated Tests

How to Write Tests 测试函数的主体通常执行以下三个操作: 1.设置任何需要的数据或状态。 2.运行要测试的代码。 3.断言的结果是你所期望的。 Rust专门为编写执行这些操作的测试提供的特性,其中包括test属性、一些宏和should_panic属性。 测试函数解剖 最简单情况下,rust中的测试是一个用test属性注释的函数。属性是关于 Rust 代码片段的元数据(derive 也是一个属性);再要测试的函数(fn)前,添加#[test]。使用cargo test,Rust会构建一个测试运行程序…

2023年5月15日 765点热度 九州安所如 阅读全文
文档

Rust Basic 10 - Generic Types, Traits, and Lifetimes

泛型,处理重复的工具。 通过提取函数来消除重复 泛型允许我们用表示多种类型的占位符替换特定类型,以消除代码重复。 泛型 我们使用泛型来为函数签名或结构等项创建定义,然后可以将其用于许多不同的具体数据类型。 在函数定义中 在定义使用泛型的函数时,我们将泛型放在函数的签名中,通常在这里指定参数和返回值的数据类型。 不使用泛型时: 泛型函数定义: fn largest<T>(list: &[T]) -> &T {} 函数最大是对某种类型T的泛型。该函数有一个名为list的形参,它是类型T…

2023年4月25日 5748点热度 九州安所如 阅读全文
文档

Rust Basic 9 - Error Handling

Rust将错误分为两大类:可恢复和不可恢复的错误。对于可恢复的错误,例如找不到文件错误,我们可能只需要向用户报告问题并重试操作。不可恢复的错误总是 bug 的症状,例如试图访问数组末尾之外的位置,所以我们要立即停止程序。 大多数语言不区分这两种错误,并使用类似于异常的机制来处理。但是Rust没有异常,它使用类型Result<T, E>来处理可恢复的错误,使用 panic! 宏来停止程序执行当遇到不可恢复的错误。本章将先讨论调用 panic! ,然后讨论返回Result<T, E>的值。此外,…

2023年4月24日 717点热度 九州安所如 阅读全文
文档

Rust Basic 8 - Common Collections

Rust 的标准库包含了许多有用的数据结构,称为集合。大多数其他数据类型表示一个特定的值,但集合可以包含多个值。与内置数组和元组类型不同,这些集合指向的数据存储在堆上,这意味着数据量不需要在编译时知道,可以随着程序运行而增长或缩小。 Rust 程序中经常使用的三种集合: 向量允许存储可变数量的值。 字符串是字符的集合。我们之前提到过 String 类型,但在本章中我们将深入讨论。 哈希映射允许将值与特定的键相关联。它是更一般的数据结构映射的特定实现。 文档 Vectors Vec<T> 向量。向量允许您…

2023年4月22日 697点热度 九州安所如 阅读全文
文档

Rust Basic 7 - Managing Growing Projects

Rust 具有许多功能,可供管理代码的组织,包括公开哪些细节,哪些细节是私有的,以及程序中每个范围内的名称。这些功能有时统称为模块系统,包括: Packages: Cargo 的一项功能,可让您构建、测试和共享 crate Crates:生成库或可执行文件的模块树 Modules and use:让您控制路径的组织、范围和隐私 Paths:一种命名项目的方式,例如结构、函数或模块 packages and crates 模块是 Rust 编译器在同一时间考虑的最小代码单元。即使你使用 rustc 而不是 cargo…

2023年4月13日 734点热度 九州安所如 阅读全文
1…23456
最新 热点 随机
最新 热点 随机
麒麟系统搭建qt ahp2tree linux-excel-complile linuxqt linux Excel Test c++ 容器类总结
C++开发 - 环境搭建 .net autocad - 基础图形绘制 Rust Basic 4 - Ownership SQLServer 事务与触发器 c++ - vector Rust Basic 20 - Final Project
最近评论
九州安所如 发布于 2 年前(01月16日) :)
XRMip 发布于 2 年前(11月27日) Hello! Good cheer to all on this beautiful da...
九州安所如 发布于 4 年前(04月26日) :cool:
nowhere 发布于 4 年前(04月26日) 你好啊 :mrgreen:
标签聚合
qt 杂项 excel git rust-basic .net autocad rust c++

COPYRIGHT © 2023 zhu

鲁ICP备2026022547号