^(* ̄(oo) ̄)^

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

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日 766点热度 九州安所如 阅读全文
文档

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日 698点热度 九州安所如 阅读全文
文档

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点热度 九州安所如 阅读全文
文档

Rust Basic 6 - Enums and Pattern Matching

枚举是 Rust 中的一种类型,也称为 enums。枚举允许你通过枚举变量的可能变体来定义一个类型。首先,我们将定义并使用枚举来展示枚举如何在数据中编码意义。 Option 是 Rust 中内置的枚举类型。Option<T> 表示一个值可以是 T 类型的值,也可以是什么都没有。它有两个可能的变体:Some(T) 和 None 定义枚举 枚举使你能够表示值是一组可能的值之一。关键字为enum。 直接使用枚举 直接将数据附加到枚举的变体,故不再需要结构体。 我们定义的每个枚举变体的名称也成为一个构造枚举实例…

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

Rust Basic 5 - Struct And Function

struct 类似于java中的类。关键字为struct。 这个user1没设置mut, 故实例不可以改。 注意,整个实例必须是可变的;Rust 不允许我们仅将某些字段标记为可变的。如果你在创建结构体的时候使用了 mut,那么整个结构体都是可变的,所有的字段都可以被修改。 根据特定自动返回user 类似自己写了个构造函数。 Using the Field Init Shorthand 将函数参数命名为与结构字段同名是有意义的,但必须重复字段名称email和username变量有点乏味。因为参数名和结构字段名在清单,…

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

Rust Basic 4 - Ownership

所有权是Rust最独特的特征。使rust能在不需要垃圾收集器的情况下,保证内存安全。所有权的相关特征:借用、切片以及rust如何在内存中布局数据。 什么是所有权? 所有权是rust管理内存的一组规则。所有语言都必须在运行时管理计算机内存。java中使用的是垃圾回收机制,c++使用显式分配和释放内存,而rust是通过所有权定义一组规则,若违法任何规则,则程序无法变异。所有权的任何功能都不会在程序运行时减慢程序的速度。 堆栈:先进后出,分配更快,因为始终在堆栈的顶部分配。 堆:访问速度比堆栈慢,因为需根据指针。 所有权…

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

Rust Basic 3 - Variables And Functions

Variables and Mutability 默认情况下,变量是不可变的。在没有使用mut的情况下,若重复修改变量的值会产生error[E0384]: cannot assign twice to immutable variable x。 Constants 同不可能变量相同,常量的值也不可修改。但是常量不允许使用mut,常量不仅在默认情况下是不可变的--它们始终是不可变的的。定义常量使用const关键字,而且必须在初始化时赋值,值只能是一个常量表达式。 const THREE_HOURS_IN_SECOND…

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

Rust Basic 2 - Programming a Guessing Game

输入数字代码 use std::io; 引入io标准库。 let mut guess = String::new(); let 用于创建变量,但是rust默认情况下,变量的值是不可改变的。为了使值可以变化,需在变量名前添加mut; let mut guess = String::new(); 行创建了一个可变变量,该变量当前绑定到一个新的空实例String io::stdin()       .read_line(&mut guess) 使用此io函数,来允许用户进行输入。若没在开头导入use std::i…

2023年4月7日 715点热度 九州安所如 阅读全文
123
最新 热点 随机
最新 热点 随机
麒麟系统搭建qt ahp2tree linux-excel-complile linuxqt linux Excel Test c++ 容器类总结
开发相关-杂记 C# winform常用操作 c++ 泛型算法 linux Excel Test Git 基本操作 Rust Basic 4 - Ownership
最近评论
九州安所如 发布于 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:
标签聚合
杂项 c++ qt git rust .net autocad excel rust-basic

COPYRIGHT © 2023 zhu

鲁ICP备2026022547号