checker borrow rust
rust trait个人理解
==rust最nb的地方就是trait了==,用法非常灵活,我自己也不知道把圣经这部分看了多少遍了,于是写下这篇文章记录一下我个人的理解 0 概述 不同的类型具有相同的行为,那么我们就可以定义一个特征 ......
rust交叉编译配置:windows上编译linux可执行程序
rust交叉编译配置:windows上编译linux可执行程序 简述 交叉编译大概指在在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码. 本次,我们配置的是在windows上编译出在linux上运行的rust可执行程序. 我们在安装rust之后,默认会安装跟机器环境搭配的编译相关 ......
worker-rust
添加target:wasm32-unknown-unknown info: downloading component 'rust-std' for 'wasm32-unknown-unknown' 安装wasm-pack cargo install wasm-pack Cargo安装可能会报ope ......
Rust编程语言入门之高级特性
高级特性 主要内容 不安全 Rust 高级 Trait 高级 类型 高级函数和闭包 宏 一、不安全 Rust 匹配命名变量 隐藏着第二个语言,它没有强制内存安全保证:Unsafe Rust(不安全的 Rust) 和普通的 Rust 一样,但提供了额外的“超能力” Unsafe Rust 存在的原因: ......
Rust、Go 和 Swift 在性能和并发性方面有何差异?
Rust是一种系统编程语言,旨在快速、安全和并发。其性能令人印象深刻,可以生成快速高效的机器代码。Rust 的编译器使用 LLVM 基础架构,它针对目标架构优化了代码。此外,Rust 的所有权和借用系统确保内存得到有效管理,没有任何运行时开销。Rust的并发模型是基于actor模型的,也就是说并发是 ......
一个简单的 rust 项目 使用 bevy 引擎 复刻 Flappy Bird 小游戏
Rust + Bevy 实现的 Flappy Bird 游戏 简介 一个使用 bevy 引擎复刻的 Flappy Bird 经典小游戏。 通过该项目我们可以学到:bevy 的自定义组件,自定义插件,自定义资源,sprite 的旋转,sprite 的移动,sprite sheet 动画的定义使用,状态 ......
Rust编程语言入门之模式匹配
模式匹配 模式 模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构 将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流 模式由以下元素(的一些组合)组成: 字面值 解构的数组、enum、struct 和 tuple 变量 通配符 占位符 想要使用模式,需要将其与某个值进行比较 ......
Rust中的Copy和Clone
1.Copy和Clone Rust中的Copy和Clonetrait都允许创建类型实例的副本。它们都提供了一种复制类型实例的方法,但它们之间存在一些重要的区别。了解这些区别有助更好地使用这两个特征。 2. Copytrait Copytrait允许按位复制类型的实例。这意味着当您将一个变量赋值给另一 ......
Writing a file system from scratch in Rust
Writing a file system from scratch in Rust2020-07-27 https://blog.carlosgaldino.com/writing-a-file-system-from-scratch-in-rust.html Data produced by p ......
Rust 知识积累(6)
impl Trait 使用(与泛型类似) // 入参 举例 // 类似与 fn prints_it<T:String+std::fmt::Display>>(input: T){} fn prints_it(input: impl Into<String> + std::fmt::Display){ ......
Rust中的智能指针:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak<T>
Rust中的智能指针是什么 智能指针(smart pointers)是一类数据结构,是拥有数据所有权和额外功能的指针。是指针的进一步发展 指针(pointer)是一个包含内存地址的变量的通用概念。这个地址引用,或 ” 指向”(points at)一些其 他数据 。引用以 & 符号为标志并借用了他们所 ......
一个简单的 rust 项目 飞机大战
Rust 实现的飞机游戏 简介 一个使用 bevy 引擎制作的飞机游戏。 原视频教程地址,github 地址。 因为 bevy 已经升级到 0.10.1 了,所以重新做一遍。顺带手出个教程。 下面是做的部分变动: 将激光以及玩家的移动模块进行了拆分。 新增了背景图片。 新增了游戏状态管理 Welco ......
rust读取txt
use std::fs::File; use std::io::{BufRead, BufReader}; fn main() { let file = File::open("f.txt").expect("File not found"); let reader = BufReader::new ......
提高rust的crates构建速度
一直以来rust的crates构建速度都比较慢,因为rust把crates库的索引保存到了GitHub上面(https://github.com/rust-lang/crates.io-index)。 而国内访问GitHub速度比较慢,其次是下载crates依赖时,是要完全同步这个仓库才能执行下一步 ......
Rust编程语言入门之无畏并发
无畏并发 并发 Concurrent:程序的不同部分之间独立的执行(并发) Parallel:程序的不同部分同时运行(并行) Rust无畏并发:允许你编写没有细微Bug的代码,并在不引入新Bug的情况下易于重构 注意:本文中的”并发“泛指 concurrent 和 parallel 一、使用线程同时 ......
rust特征对象
rust语法真丑啊.... 看完trait之后,我整个人都不好了,然后看特征对象的时候,我人是比较懵逼的。 0 概述 特征对象:指向==实现了某个特征的==一系列==实例==。 这种映射关系存在一张表内(vtable),可以在==运行时==通过特征对象找到具体调用的类型方法 可以通过 & 引用或者 ......
rust源使用sparse
[source.crates-io] # To use sparse index, change 'rsproxy' to 'rsproxy-sparse' replace-with = 'rsproxy-sparse' [source.rsproxy] registry = "https://rs ......
Rust
宏 print!("Hello, World"); #[macro_export] #[stable(feature = "rust1", since = "1.0.0")] #[cfg_attr(not(test), rustc_diagnostic_item = "print_macro")] ......
DNS Checker - DNS Check Propagation Tool
DNS Checker - DNS Check Propagation Tool DNS Propagation Checker - How to Check DNS Propagation Globally DNS Checker provides a free online DNS Checke ......
Pake 基于rust 开发的快速web 页面打包app 的工具
Pake利用了tauri 可以实现web 页面快速打包桌面app 说明 对于希望快速打开一个桌面应用的场景,Pake 还是值得试用的 参考资料 https://github.com/tw93/Pake ......
Rust编程语言入门之智能指针
智能指针 智能指针(序) 相关的概念 指针:一个变量在内存中包含的是一个地址(指向其它数据) Rust 中最常见的指针就是”引用“ 引用: 使用 & 借用它指向的值 没有其余开销 最常见的指针类型 智能指针 智能指针是这样一些数据结构: 行为和指针相似 有额外的元数据和功能 引用计数(Referen ......
2023年Rust发展如何?
1. 引言 Rust是一种系统编程语言,它注重安全、并发和内存效率。自2010年首次发布以来,Rust一直在快速发展,吸引了越来越多的开发者加入其社区。Rust语言的设计目标是提供一种安全、并发和实用的语言,它可以满足系统编程的需求,同时也适用于其他领域。 2. Rust在2022年的发展趋势 在2 ......
Rust中的derive属性详解
1. Rust中的derive是什么? 在Rust语言中,derive是一个属性,它可以让编译器为一些特性提供基本的实现。这些特性仍然可以手动实现,以获得更复杂的行为。 2. derive的出现解决了什么问题? derive属性的出现解决了手动实现一些特性时需要编写大量重复代码的问题。它可以让编译器 ......
Moves, copies and clones in Rust
原文链接:Moves, copies and clones in Rust 简介(Introduction) move 和 copy 是 Rust 中的基础概念。这对于来自 Ruby、Python 或 C#等垃圾回收语言的程序员来说可能是完全陌生的。这些术语在 C++中也确实存在,但它们在 Rust ......
rust模式匹配(可驳模式匹配与不可驳模式匹配)
rust的一个特性就是模式匹配(OOP编程语言好像都有?),模式匹配常常和变量绑定一起考虑 常见的模式匹配有: match、if let、while let、let、for、函数参数等等 (for和let我个人认为说是模式匹配,其实有点牵强了,除非这样let (x,y) = (1,2) 可驳与不可驳 ......
文盘Rust -- 用Tokio实现简易任务池
Tokio 无疑是 Rust 世界中最优秀的异步Runtime实现。非阻塞的特性带来了优异的性能,但是在实际的开发中我们往往需要在某些情况下阻塞任务来实现某些功能。 ......
rust数组
概述 rust中数组分为两类: 长度固定的array 动态数组vector array的效率比vector高,array存栈上,vector存堆上 array fn main() { // [类型;长度] let a: [i32; 5] = [1, 2, 3, 4, 5]; } 数组元素类型要统一, ......
Rust 版本一直是 1.4 或者其它版本
Rust 版本一直是 1.4 或者其它版本 通过rustup update 升级或者 rustup default 设置版本也不行 解决方法 删除 rust-toolchain 这个东西,这个东西覆盖了 ......
Rust中的迭代器的使用:map转换、filter过滤、fold聚合、chain链接
什么是迭代器 Rust中的迭代器是一种强大的工具,它提供了一种灵活、通用的方法来遍历序列。迭代器是实现了Iterator trait的类型,并需要至少实现一个next函数,用于让迭代器指向下一个迭代对象,并返回一个Option用于指示对象是否存在。 fn next (&mut self) -> Op ......
RUST——slice类型
一个编程练习 要求:编写一个函数,该函数接收一个用空格分隔单词的字符串,并返回在该字符串中找到的第一个单词。如果函数在该字符串中并未找到空格,则整个字符串就是一个单词,所以应该返回整个字符串。 //slice使用示意 fn main() { let s=String::from("Today I w ......