
Rust
文章平均质量分 77
Rust从零学习笔记,从从未听过的程度开始。
ALex_zry
梦想走遍天涯,后来工作攒钱实现
展开
-
Rust 基础入门 —— 2.3.所有权和借用 (二)
我们之前说了很多,总结一句话:所有权,让代码可以免去内存回收的问题,但不方便开发。解决方式,就是引用和借用。这里我们具体介绍这个概念。引用和借用是一个事情,表示的是通过语法,告诉 编译器,不要改动所有权。只是一个代称。你可以叫它引用,也可以叫他借用。是一回事情。当然官方的说法是:获取变量的引用,称之为借用(borrowing)为什么的问题,已经在开头说明了。便于开发。这里我们分四块介绍:废话不说,上代码上面的代码中 z 中存放了原始的数据,是 的一个引用。可以断言 等于 ,但是想要对 的值进行断言,就必原创 2023-08-23 15:31:56 · 324 阅读 · 0 评论 -
Rust 基础入门 ——所有权 引言 :垃圾自动回收机制的缺陷。
此外,垃圾回收过程中的停顿时间会导致程序的响应性下降,特别是在需要实时性能或低延迟的场景下。传统上,内存安全通常通过垃圾回收(Garbage Collection,GC)来实现,GC会自动回收不再使用的内存,但是它会带来一些性能、内存占用和停顿等问题。在以往,内存安全几乎都是通过 GC 的方式实现,但是 GC 会引来性能、内存占用以及 Stop the world 等问题,在高性能场景和系统编程上是不可接受的,导致的性能和内存问题的大小取决于多个因素,包括垃圾回收算法的选择、垃圾回收的频率和停顿时间等。原创 2023-08-21 15:46:24 · 1500 阅读 · 0 评论 -
Rust 基础入门 —— 2.3.所有权和借用
因为我们这里实际讲述的内容是关于 内存安全的,所以我们最好先复习一下内存的知识。然后我们,需要理解的就只有所有权概念,以及为了开发便利,进一步引出的引用借用概念。原创 2023-08-21 15:44:42 · 1302 阅读 · 0 评论 -
Rust 基础入门 —— 函数
作为函数的返回类型表示该函数是一个"diverge function",即该函数永远不会返回。库函数:在某些情况下,库函数可能需要在特定条件下终止程序的执行,例如在某些安全检查失败时。循环:有时候需要编写一个无限循环的函数,例如一个服务器的主循环或一个事件处理循环。作为函数的返回类型可以帮助编译器进行静态分析和检查,以确保程序的正确性。函数作为rust 基本类型中的最后一个,是的他也是基本类型。由于panic会导致程序的非正常终止,所以panic的函数可以使用。作为返回类型,表示它们永远不会返回。原创 2023-06-29 17:00:54 · 476 阅读 · 0 评论 -
Rust 基础入门 —— 语句与表达式
而我所谓的逻辑结构就是 他包含了变量,操作,可能还要获取结果。的几部分就是逻辑结构。这一节,我们接触的是rust中的有一个基本类型 我将其称之为 ——结尾的逻辑结构就是语句。,这个是我自己命名的,但我觉得很贴切。以上都是语句, 即 他们。我们只需要记住一个有。原创 2023-06-29 17:02:27 · 646 阅读 · 1 评论 -
Rust 基础入门 —— 字符、布尔、单元 类型
""''原创 2023-06-29 17:01:29 · 782 阅读 · 0 评论 -
Rust 基础入门 ——数值类型
浮点数往往是你想要数字的近似表达浮点数类型是基于二进制实现的,但是我们想要计算的数字往往是基于十进制,例如0.1在二进制上并不存在精确的表达形式,但是在十进制上就存在。这种不匹配性导致一定的歧义性,更多的,虽然浮点数能代表真实的数值,但是由于底层格式问题,它往往受限于定长的浮点数精度,如果你想要表达完全精准的真实数字,只有使用无限精度的浮点数才行浮点数在某些特性上是反直觉的例如大家都会觉得浮点数可以进行比较,对吧?是的,它们确实可以使用>=等进行比较,但是在某些场景下,这种直觉上的比较特性反而会害了你。原创 2023-06-29 16:59:54 · 1227 阅读 · 0 评论 -
Rust 基础入门 —— 基本类型
概述:在Rust 中,作为强类型语言,自然会独立一块内容用作类型管理工作,而rust 中 为应用领域的扩展, 兼容了很多的数学计算方面的 内容,加到了基本类型中,例如 复数, 在有向图和 矢量图计算中的应用,rust 通过自带的类型设计避免了 程序员再开发的任务难度。总的来说,rust 的数据类型分为两类, 基本类型和 复合类型,这点和C++蛮像的。接下来简单介绍一下 基本类型。然后进一步介绍 语句和表达式、函数。基本类型数值类型有符号 整形 (i8, i16, i32, i64, isi原创 2023-06-29 16:57:48 · 738 阅读 · 0 评论 -
Rust 基础入门 —— 变量绑定与解构
rust 中使用了两个不同的关键字 区分常量和变量, 不同于C++ ,const 和 let 具备同等的权重,const 不必作为修饰词限定类型声明。原创 2023-06-20 22:08:34 · 1471 阅读 · 1 评论 -
Rust教程初识
Rust 是什么 (what)更严苛审查的编译运行式语言why更高的安全性?不是很明确说实话。从了解到的资料来看,它被认为是c、c++的上位平替但是大家都提到了更陡峭的学习曲线。how看圣经when也许是十年后的顶峰where也许是十年后的大厂所以,这是一场对未来的豪赌。即使它来自于2006年。中二的发言结束了,现在让我们回到当前。从编码思想来看,这并不是我目前能回答的问题。那么就和我知道的编码语言来对比吧。原创 2023-06-02 10:06:27 · 624 阅读 · 1 评论 -
二十三种设计模式:工厂模式
当我们需要创建多个相似的对象时,可以使用工厂模式来实现对象的创建和使用的分离。工厂模式通过定义一个抽象工厂接口和多个具体工厂类来实现对象的创建,同时通过定义一个抽象产品接口和多个具体产品类来实现对象的使用。客户端代码通过调用具体工厂类的方法来创建具体产品对象,并通过抽象产品接口来使用这些对象。工厂模式的优点是可以将对象的创建和使用分离,使得代码更加灵活和易于维护。同时,工厂模式也可以通过添加新的具体工厂类和具体产品类来扩展系统的功能。原创 2023-06-01 23:02:27 · 634 阅读 · 0 评论 -
二十三种设计模式:单例模式
单例模式是一种常用的设计模式,它保证一个类只有一个实例,并提供一个全局访问点。单例模式可以避免多个实例造成的资源浪费和冲突问题,同时也方便了对实例的管理和控制。在C++中,可以通过以下方式实现单例模式:静态成员变量:将类的实例作为静态成员变量,通过静态成员函数获取实例。静态成员变量只会被初始化一次,保证了只有一个实例。懒汉式:在第一次使用时创建实例,通过静态成员函数获取实例。需要注意线程安全问题,可以通过加锁等方式解决。饿汉式:在程序启动时创建实例,通过静态成员函数获取实例。原创 2023-06-02 09:51:43 · 729 阅读 · 0 评论 -
Rust安装手册
首先,我们至此终于可以说一声C语言~YYDS。Rust,又一款C语言编写编译器的开发语言。cargo实在是太 crazy了。配合new命令,可以直接创造一个包含相关文件的文件夹。内容就是我们的第一个rust程序。配合可以构建执行程序,而使用cargo run则是先构建再执行。rust的构建方式,是在主目录下创建一个名为target的文件夹。在文件夹内包含debug的所有调试信息。当然,程序也在这里。完整的内容如下,不得不说,挺多的。使用rust ,要首先能明了 编译器工具 cargo 能做到哪些事情。原创 2023-06-02 09:33:36 · 1190 阅读 · 0 评论