Diligent_Maple
Published on undefined in 暂未分类 with Diligent_Maple

随笔分类 -  02.编程语言 / 02.Rust

摘要:## 一、不安全Rust 不安全Rust:涉及Rust的某些安全保障并负责手动维护相关规则。 不安全Rust之所以存在是因为静态分析从本质上讲是保守的。当编译器在判断一段代码是否拥有某种安全保障时,它总是宁可错杀一些合法的程序也不会接受可能非法的代码。另一个需要不安全Rust的原因在于底层计算机硬件 阅读全文
posted @ 2023-05-25 08:41 Diligent_Maple 阅读(35) 评论(0) 推荐(0) 编辑
摘要:如下是main.rs文件内容: ```Rust // src\main.rs use hello::ThreadPool; use std::thread; use std::time::Duration; use std::fs; use std::io::prelude::*; use std: 阅读全文
posted @ 2023-05-24 18:02 Diligent_Maple 阅读(9) 评论(0) 推荐(0) 编辑
摘要:模式(patterns)是Rust中一种用来匹配类型结构的特殊语法。将模式与match表达式或其他工具配合使用可以更好地控制程序流程。 一个模式匹配通常由以下组件构成: - 字面量 - 解构地数组、枚举、结构体或元组 - 变量 - 通配符 - 占位符 模式被用来与某个特定地值进行匹配。如果模式与值匹 阅读全文
posted @ 2023-05-18 15:18 Diligent_Maple 阅读(86) 评论(0) 推荐(0) 编辑
摘要:面向对象编程(Object-Oriented Programing, OOP)是一种**程序建模的方法**。 ## 一、面向对象语言的特性 编程社区对面向对象语言的特性没有一个共识性的结论。但是对Rust来说,面向对象语言的特性通常应该包含以下内容:**命名对象**、**封装**及**继承**。 # 阅读全文
posted @ 2023-02-17 10:38 Diligent_Maple 阅读(355) 评论(0) 推荐(0) 编辑
摘要:并发编程(concurrent programming):允许程序中的不同部分独立运行;并行编程(parallel programming):允许程序中的不同部分同时执行;无畏并发可以让你编写出没有诡异缺陷的代码,并且易于重构而不会引入新的缺陷。 # 一、使用线程同时运行代码 在大部分现代操作系统中 阅读全文
posted @ 2023-02-10 10:46 Diligent_Maple 阅读(57) 评论(0) 推荐(0) 编辑
摘要:指针(pointer)是一个通用概念,它指代那些包含内存地址的变量。这个地址被用于索引,被用于指向内存中的其他数据。引用是用`&`符号表示,会借用它所指向的值。引用除了指向数据外没有任何其他功能,也没有任何额外的开销,它是Rust中最为常见的一种指针。 而智能指针则是一些数据结构,它们的行为类似于指 阅读全文
posted @ 2023-02-01 16:55 Diligent_Maple 阅读(83) 评论(0) 推荐(0) 编辑
摘要:# 一、使用发布配置来定制构建 Rust中的发布配置是一系列预定义好的配置方案,它们的配置选项各有不同,都允许程序员对细节进行定制修改。 Cargo最常用的配置有两种: 执行`cargo build`时使用的dev配置,以及执行`cargo build --release`时使用的release配置 阅读全文
posted @ 2023-01-18 15:33 Diligent_Maple 阅读(698) 评论(0) 推荐(0) 编辑
摘要:# 一、闭包:能够捕获环境的匿名函数 Rust中的闭包是一种可以存入变量或作为参数传递给其他函数的匿名函数。你在可以在一个地方创建闭包,然后在不同的上下文环境中调用该闭包来完成运算。**和一般函数不同,闭包可以从定义它作用域中捕获值。** ## 1、使用闭包来创建抽象化的程序行为 假设有这样一个场景 阅读全文
posted @ 2023-01-16 11:46 Diligent_Maple 阅读(64) 评论(0) 推荐(0) 编辑
摘要:# 一、接收命令行参数 创建minigrep项目 ```Rust cargo new minigrep ``` 实现这一工具的首要任务是让minigrep接收两个命令行参数:文件名和用于搜索的字符串。因此,我们希望通过如下方式: ```Rust cargo run searchstring exam 阅读全文
posted @ 2023-01-09 11:54 Diligent_Maple 阅读(232) 评论(0) 推荐(0) 编辑
摘要:# 一、如何编写测试 测试函数的函数体中一般包含3个部分: 1. 准备所需的数据或状态; 2. 调用需要测试的代码; 3. 断言运行结果与我们所期望的一致; ## 1、测试函数的构成 在最简单的情形下,Rust中的测试说就是一个标注有test属性的函数。属性(attribute)是一种用于修饰Rus 阅读全文
posted @ 2022-12-28 17:04 Diligent_Maple 阅读(143) 评论(0) 推荐(0) 编辑
摘要:# 一、删减重复代码 ```Rust fn main() { let number_list = vec![34, 50, 25, 100, 65]; let mut largest = number_list[0]; for number in number_list { if number > 阅读全文
posted @ 2022-12-16 18:33 Diligent_Maple 阅读(88) 评论(0) 推荐(0) 编辑
摘要:Rust将错误分为两大类:可恢复错误与不可恢复错误。其他大部分变成语言都没有可以区分这两种错误,而是通过异常之类的机制来统一处理它们。虽然Rust没有类似的异常处理机制,但它提供了用于可恢复错误的类型`Result`,以及在程序出现不可恢复错误时中止运行的`panic!`宏。 # 一、不可恢复错误与 阅读全文
posted @ 2022-11-28 14:47 Diligent_Maple 阅读(110) 评论(0) 推荐(0) 编辑
摘要:Rust标准库包含了一系列非常有用的被称为**集合**(collections)的数据结构。大部分的数据结构都代表着某个特定的值,但集合却可以包含多个值。与内置的数组与元组类型不同,这些集合将自己持有的数据存储在堆上。不同的集合类型有着不同的性能特性与开销。 - 动态数组(Vector):可以让你连 阅读全文
posted @ 2022-11-25 23:06 Diligent_Maple 阅读(64) 评论(0) 推荐(0) 编辑
摘要:包(package):一个用于构建、测试并分享单元包的Cargo功能; 单元包(crate):一个用于生成库或可执行文件的树形模块结构; 模块(module)及use关键字:它们被用于控制文件结构、作用域及路径的私有性; 路径(path):一种用于命名条目的方法,这些条目包括结构体、函数和模块等; 阅读全文
posted @ 2022-11-24 21:10 Diligent_Maple 阅读(100) 评论(0) 推荐(0) 编辑
摘要:# 一、枚举的定义 通过在代码中定义一个`IpAddrKind`枚举来表现IP地址中的IPv4和IPv6。这被称为枚举的成员(variants): ```Rust enum IpAddrKind { v4, v6, } ``` ## 1、枚举值 ```Rust fn main() { enum Ip 阅读全文
posted @ 2022-11-22 10:20 Diligent_Maple 阅读(41) 评论(0) 推荐(0) 编辑
摘要:`struct`或`structure`是一个自定义数据类型,允许你包装和命名多个相关的值,从而形成一个有意义的组合。 # 一、结构体的定义和实例化 结构体于元素类型类似,它们都包含多个相关的值。和元组一样,结构体的每一部分可以是不同类型。但不同于元组,**结构体需要命名各部门数据以便能清楚的表明其 阅读全文
posted @ 2022-11-21 16:11 Diligent_Maple 阅读(93) 评论(0) 推荐(0) 编辑
摘要:**所有权系统是Rust语言的核心功能**。Rust使用包含**特定规则的所有权系统**来管理内存,这台规则允许编译器在编译过程中执行检查工作,而不会产生任何的运行时开销。 # 一、栈(Stack)与堆(Heap) 栈与堆都是代码在运行时可以使用的内存功能。 ## 1、栈(Stack) 栈会以我们放 阅读全文
posted @ 2022-11-21 09:44 Diligent_Maple 阅读(42) 评论(0) 推荐(0) 编辑
摘要:# 一、变量与可变性 ## 1、变量 在Rust语言中,**变量默认是不可变的(immutable)**。当变量不可变时,一旦值被绑定到一个名称上,你就不能改变这个值。 ```Rust fn main() { let mut x = 5; println!{"The value of x is: { 阅读全文
posted @ 2022-11-17 16:27 Diligent_Maple 阅读(212) 评论(0) 推荐(0) 编辑
摘要:# 一、简介 Rust是一种预编译静态语言,这意味着你可以编译程序并将可执行文件发送给其他人。 # 二、安装 Windows直接去官网下载相关软件程序包即可。它可使用IDE软件进行开发。 # 三、编程 Rust并不关心代码存放位置。Rust源文件总是以 `.rs`扩展名结尾。Rust相关代码编写完成 阅读全文
posted @ 2022-11-14 16:09 Diligent_Maple 阅读(274) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示