• 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。 他为什么叫切片?刚才我们已经了解了“引用”,而切片则允许你引用集合中的一段连续的元素序列,而不用引用整个集合。 举个例子,用一个函数获取字符串中的第一个单词,如果字符串中没有出现空格,则认为整个字符串就是一个单词。 // 部...

  • Rust Web小项目-Rust 第26节 Web小项目

    时间:2024-01-26 13:31:27

    监听TCP链接 use std::net::TcpListener;fn main() { let listener = TcpListener::bind("127.0.0.1:7887").unwrap(); //监听7887端口,成功后,就创建一个linstener for st...

  • 45从零开始用Rust编写nginx,静态文件服务器竟然还有这些细节

    时间:2024-01-26 12:28:59

    wmproxywmproxy已用Rust实现http/https代理,socks5代理, websocket代理,反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透等,力争打造和nginx的性能。项目地址国内: https://gitee.com/tickbh/wmproxy...

  • 无涯教程-Rust - 数据类型

    时间:2024-01-25 15:11:04

    Rust是一种静态类型的语言,Rust中的每个值都需要指定某种数据类型,编译器也可以根据分配给它的值自动推断变量的数据类型。声明变量使用 let 关键字声明一个变量。fn main() { let company_string="LearnFk"; //字符串类型 let rating...

  • 无涯教程-Rust - 字符串

    时间:2024-01-25 14:04:10

    Rust中的String数据类型可以分为以下几种-String Literal(&str)String Object(String)当在编译时知道字符串的值时,将使用字符串(&str),字符串是一组字符,这些字符被硬编码为变量。例如,让company ="LearnFK Point"...