• rust递归遍历磁盘目录及文件

    时间:2024-03-02 10:27:12

     Std库实现 //遍历dir目录,找出修改日期距离当前超过age天的文件名称,存入file_list中fn visit_dir(dir: &Path, file_list: &mut Vec<String>, age: u64) -> io::Result<...

  • Rust 数据结构与算法:3栈:用栈实现符号匹配

    时间:2024-03-01 20:47:20

    1、符号匹配 如: (5+6)×(7+8)/(4+3)、{ { ( [ ] [ ])}}、(a+b)(c*d)func() 等各类语句的符号匹配。 这里我们关注的不是数字而是括号,因为括号更改了操作优先级,限定了语言的语义,这是非常重要的。如果括号不完整,那么整个表达式就是错的。 括号都必须以成对匹...

  • 基于Rust语言,和WebAssembly技术,与JavaScript结合,的具体应用场景

    时间:2024-03-01 16:31:12

    基于Rust语言与WebAssembly(Wasm)技术并与JavaScript结合,可以应用于多个场景,特别是在需要高性能和/或低级系统访问的情况下。下面是一些具体的应用场景: 性能密集型任务: Rust加上Wasm适合执行计算密集型任务,如图像或视频编辑、3D 渲染、游戏引擎、音频处理等。这些...

  • 什么是Rust 语言

    时间:2024-02-29 19:24:19

    Rust 是一种专注于性能和内存安全的系统编程语言,其设计目标包括提供:零开销抽象、移动语义、内存安全、线程无数据竞争、类型安全和实时 gc 等功能。Rust 使用 RAII(Resource Acquisition Is Initialization)管理资源,通过所有权系统以编译时检查内存安全。...

  • Rust语言教程

    时间:2024-02-23 16:50:45

    Rust语言教程 一、Rust语言简介 Rust是一门系统编程语言,由Mozilla基金会开发并维护,具有内存安全、并发性强的特点。它的设计目标是解决C++等语言中的内存泄漏和并发问题,同时保持与C++相近的性能。Rust通过所有权系统、生命周期、借用检查器等机制,实现了内存安全,避免了数据竞争和空...

  • 【rust】8、连接数据库:sqlx

    时间:2024-02-23 16:44:26

    sqlx 是 rust 的数据库访问工具, 本身并不是 orm,但常见的 orm 都是基于它实现的。其有如下特点: 支持异步,适合高并发编译时检查:cargo build 时检查执行 sql,校验响应值支持多数据库:mysql、pg、sqlite 等支持主流 rust 运行时:tokio、async...

  • Rust Vs Go:从头构建一个web服务

    时间:2024-02-22 18:57:06

    Go 和 Rust 之间的许多比较都强调它们在语法和初始学习曲线上的差异。然而,最终的决定性因素是重要项目的易用性。 “Rust 与 Go”争论 Rust vs Go 是一个不断出现的话题,并且已经有很多关于它的文章。部分原因是开发人员正在寻找信息来帮助他们决定下一个 Web 项目使用哪种语言,而...

  • rust的哈希表-元素更新

    时间:2024-02-21 11:45:22

    fn main() { use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); scores.insert(Stri...

  • Rust 学习笔记 - 变量声明与使用-结语

    时间:2024-02-19 21:20:09

    本文深入介绍了 Rust 中的变量声明,特别是它独有的不可变变量和变量遮蔽特性。相较于其它编程语言,这些概念初看可能会给变量操作带来复杂性。然而,随着使用的深入,这些概念将变得清晰明了,你将发现它们实际上是 Rust 强大功能和安全性的体现,而且并不复杂。

  • rust中的arm交叉编译

    时间:2024-02-19 13:13:15

    以armv5为例:1.下载编译链: apt install arm-linux-gnueabi-gcc2. 配置 配置文件路径:~/.crago/config[target.armv5te-unknown-linux-gnueabi]linker="arm-linux-...

  • Rust条件语句:if-else表达式详解-if表达式

    时间:2024-02-19 10:16:02

    let condition = true;let n2 = if condition { 5 } else { 6 };println!("The value of n2 is: {}", n2); Rust中的if还可以用于表达式,这允许我们将if语句的结果绑定到一个变量上。在上述例子中,根据条...

  • Rust 简介-Rust 的特点

    时间:2024-02-18 13:49:46

    内存安全:Rust的借用检查系统保证在编译时期就避免了空指针解引用、缓冲区溢出等问题。所有权机制确保每个值在任何时刻只有一个所有者,避免了数据竞争。 零成本抽象:Rust的高级抽象,如迭代器、闭包等,经编译后能够转换为和手写底层代码几乎一样的机器码。 并发:R...

  • Rust 数据结构与算法:1算法分析之乱序字符串检查

    时间:2024-02-17 12:07:53

    Rust 数据结构与算法 一、算法分析 算法是通用的旨在解决某种问题的指令列表。 算法分析是基于算法使用的资源量来进行比较的。之所以说一个算法比另一个算法好,原因就在于前者在使用资源方面更有效率,或者说前者使用了更少的资源。 ●算法使用的空间指的是内存消耗。算法所需的内存通常由问题本身的规模和性质决...

  • Rust基础拾遗--并发和异步编程-2.异步编程

    时间:2024-02-17 12:07:28

    2.1.1Future 2.1.2异步函数与await表达式 2.1.3从同步代码调用异步函数:block_on 2.1.4启动异步任务 2.1.5异步块 2.1.6从异步块构建异步函数 2.1.7在线程池中启动异步任务 2.1.8你的Future实现Send了吗 2.1.9长时间运行的计算:yi...

  • linux系统下vscode portable版本的rust环境搭建004:rust-相关错误

    时间:2024-02-16 09:44:20

    $ tar -zxvf rust-1.68.2-x86_64-unknown-linux-gnu.tar.gz tar: This does not look like a tar archivetar: Skipping to next headertar: Exiting with failu...

  • Rust枚举类型详解-IpAddr枚举

    时间:2024-02-15 17:50:32

    首先,让我们看一下IpAddr枚举的定义: enum IpAddrKind { V4, V6,}struct IpAddr { kind: IpAddrKind, address: String,} 在这里,我们定义了一个名为IpAddrKind的枚举,它有两个变体(var...

  • 【译】Rust中的array、vector和slice

    时间:2024-01-27 17:05:57

    原文链接:https://hashrust.com/blog/arrays-vectors-and-slices-in-rust/ 原文标题:Arrays,...

  • 无涯教程-Rust - 智能指针

    时间:2024-01-26 19:15:46

    Rust默认情况下在堆栈上分配所有内容,您可以通过将它们包装在智能指针(如 Box )中来将它们存储在堆上,智能指针实现下表中列出的特征 -Sr.NoTrait namePackage & 描述1Deref std::ops::Deref用于不可变的取消引用操作,如* v。2Drop std...

  • Rust 智能指针

    时间:2024-01-26 14:34:04

    Rust 第24节 智能指针 智能指针的实现 智能指针通常使用struct实现, 并实现Deref和Drop这两个trait Deref trait:允许智能指针struct 的实例像引用一样使用 Drop triat: 允许你自定义当智能指针实例走出作用域时的代码 标准库中常见的智能指针 Box&...

  • 【Rust】第五节:所有权-3 切片slice

    时间:2024-01-26 13:32:21

    3.1 为什么要切片slice 还有一个没有所有权的数据类型slice。 他为什么叫切片?刚才我们已经了解了“引用”,而切片则允许你引用集合中的一段连续的元素序列,而不用引用整个集合。 举个例子,用一个函数获取字符串中的第一个单词,如果字符串中没有出现空格,则认为整个字符串就是一个单词。 // 部...