Rust

Rust初见

基本类型 数值类型 整型溢出 用u8举例,可以存放0-255。在debug模式下,编译器会检查整型溢出,例如存放了256,编译时会产生panic 当使用--release参数时,Rust反而又不检查溢出,而是按照补码循环溢出处理。例如256会变成0,257会变成1,以此类推。但终究不是想要的值,所以 ......
Rust

01 - Rust 猜数字游戏

目录1. 猜数字游戏的逻辑2. 创建新项目3. 猜数字游戏实现3.1 获取用户输入并打印a. 标准库引入b. println! 宏c. 可变与不可变 变量d. string::new 与io::stdin().read_line(&mut input)3.2 生成指定范围内的随机数3.3 随机数与猜 ......
数字 Rust 01

Rust 日志记录库 tracing

Rust 日志记录库 tracing ​#2023-09-26#​ #日志#​ #tracing# 一个好用的日志跟踪系统,可以帮助我们很快的定位程序中的 bug。tracing 不仅仅可以作为一个日志库去使用,还可以作为一个程序追踪库,帮助我们分析程序中存在的问题。 tracing - Rust ......
tracing 日志 Rust

rust 代码组织结构

使用包、Crate 和模块管理不断增长的项目 - Rust 程序设计语言 中文版 rust 组织结构中,包括以下几个概念 Package(包),Crate(箱),Moudle(模块) Package 这是 Cargo 的概念,对应一个 Cargo.toml 文件,也就是一个 rust 工程。用于构建 ......
组织结构 结构 代码 rust

Rust函数与闭包

1. 常规函数 函数都拥有显示的类型签名,其本身也是一种类型。 1.1 函数类型 自由函数 // 自由函数 fn sum(a: i32, b: i32) -> i32 { a+b } fn main() { assert_eq!(3, sum(1, 2)) } 关联函数与方法 struct A(i3 ......
闭包 函数 Rust

用Rust手把手编写一个Proxy(代理), TLS加密通讯

用Rust手把手编写一个Proxy(代理), TLS加密通讯 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 为什么选择TLS 了解TLS 安全传输层协议( ......
通讯 Proxy Rust TLS

Rust+appium App自动化测试demo

1.新建工程 打开RustCover,新建工程如下: 修改Cargo.toml文件如下: [package] name = "test_demo" version = "0.1.0" edition = "2021" # See more keys and their definitions at ......
appium Rust demo App

String vs &str in Rust

Most likely, soon after you’ve started your Rust journey, you ran into this scenario where you tried to work with string types (or should I say, you t ......
String Rust amp str vs

Rust 学习资源导航

🦀 Rust Rust 资源导航,附加一些语法 Dome Rust 编程语言官网 Github - Rust 源码 Rust 官方文档中文教程 Rust 库 crates.io: Rust Package Registry Lib.rs — home for Rust crates // Lib. ......
学习资源 资源 Rust

Rust 更新

Rust 更新 稳定版和nightly版的升级 ~> rustup update 2023/07/16 01:06:05 下午 info: syncing channel updates for 'stable-x86_64-pc-windows-msvc' info: checking for s ......
Rust

Rust 静态分发和动态分发

首先定义两个结构体 Dog 和 Cat 分别实现 Animal trait trait Animal { fn speak(&self); } struct Dog; impl Animal for Dog { fn speak(&self) { println!("旺旺....."); } } s ......
静态 动态 Rust

为什么 Rust 备受开发者青睐?

引子 作为一名敏锐的前端开发者,您可能早已对 Rust 有所耳闻,毕竟近几年,使用 Rust 开发的前端构建工具每经发布,其卓越的性能数据总是能带来社区的一阵惊叹。 图片来源:https://swc.rs/ 例如 SWC 就在其官网宣称在单线程上的执行速度是传统代码转译工具 Babel 的 20 倍 ......
开发者 Rust

Rust的语句和表达式

在Java中经常听到类似赋值语句、lambda表达式的说法,却从来没有在意过所谓的语句和表达式有什么区别,而在实际的使用中,它们好像确实没啥区别,但是在Rust中,语句和表达式就被严格区分开来了,《Rust 程序设计语言》中提到Rust 的函数体是由一系列语句和一个可选的结尾表达式来构成,。 Rus ......
表达式 语句 Rust

Windows 安装 Rust

1、安装 rustup-init.exe https://www.rust-lang.org/zh-CN/tools/install 1、安装 rustup-init.exe https://www.rust-lang.org/zh-CN/tools/install windows 安装 Rust ......
Windows Rust

00 - Rust 开发环境设置

目录Rust 开发环境设置0.1 安装 rust编译器及工具链0.2 CargoCargo 的使用构建可执行(Executable)项目构建 Library 项目0.3 vscode 配置 Rust 开发使用 VScode 上使用LLDB调试 Rust 程序 Rust 开发环境设置 0.1 安装 r ......
环境 Rust 00

A closer look at Ownership in Rust

So you want to learn Rust and keep hearing about the concept of Ownership and Borrowing, but can’t fully wrap your head around what it is. Ownership i ......
Ownership closer Rust look at

# 简明快速配置 Rust 工具链

你可能会为不同版本的工具链而烦恼,就算是 ruster 也一样。介绍一个非常好用的管理工具给大伙,就是使用 Rustup 安装和更新 Rust 工具链。安装 Rustup 之后,可以在 stable, beta,和 nightly 等版本的 Rust 编译器工具之间无缝切换。 ......
工具 Rust

WebAssembly实践指南——C++和Rust通过wasmtime实现相互调用实例

C++和Rust通过wasmtime实现相互调用实例 1 wasmtime介绍 wasmtime是一个可以运行WebAssembly代码的运行时环境。 WebAssembly是一种可移植的二进制指令集格式,其本身与平台无关,类似于Java的class文件字节码。 WebAssembly本来的设计初衷 ......
WebAssembly 实例 wasmtime 指南 Rust

文盘Rust -- tonic-Rust grpc初体验

gRPC 是开发中常用的开源高性能远程过程调用(RPC)框架,tonic 是基于 HTTP/2 的 gRPC 实现,专注于高性能、互操作性和灵活性。该库的创建是为了对 async/await 提供一流的支持,并充当用 Rust 编写的生产系统的核心构建块。今天我们聊聊通过使用tonic 调用grpc... ......
Rust tonic-Rust tonic grpc

用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子

用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子 wmproxy 将实现http/https代理, socks5代理, 后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 希望感兴趣的可以一起参与参与 项目 ++wmproxy++ gite: https:/ ......
轮子 Proxy Rust

rust_trait个人理解

0 概述 什么是trait rust中有许许多多的类型(枚举、结构体...),如果这些不同类型,都有类似的行为,我们把这个行为抽象出来,把他定义为一个特征(trait) 一个trait中可以包含,一个或者一组行为,表现形式就是方法or函数 1 特征约束 1.1 特征约束 1.2 特征做函数参数的语法 ......
rust_trait trait 个人 rust

用 Rust 的 declarative macro 做了个小东西

最近几天在弄 ddnspod 的时候,写了个宏: custom_meta_struct 解决什么问题 #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] struct ActionA { url: String, // http ......
小东西 declarative macro Rust

Rust build is seamlessly integrated into the Flutter build process

super_clipboard uses Rust internally to implement low-level platform specific functionality. Rather than shipping prebuilt binaries with the plugin, R ......
build integrated seamlessly Flutter process

文盘Rust -- 给程序加个日志

日志是应用程序的重要组成部分。无论是服务端程序还是客户端程序都需要日志做为错误输出或者业务记录。在这篇文章中,我们结合log4rs聊聊rust 程序中如何使用日志。 ......
程序 日志 Rust

rust 多线程

多线程之间的通信和内存共享常见方式 use std::sync::mpsc; use std::thread; use std::sync::{Arc,Mutex}; struct User { name: String } fn main() { // Arc 通过共享内存 在线程间通信 数据不可 ......
线程 rust

文盘Rust——子命令提示,提高用户体验

上次我们聊到 CLI 的领域交互模式。在领域交互模式中,可能存在多层次的子命令。在使用过程中如果全评记忆的话,命令少还好,多了真心记不住。频繁 --help 也是个很麻烦的事情。如果每次按 'tab' 键就可以提示或补齐命令是不是很方便呢。这一节我们就来说说 'autocommplete' 如何实现... ......
命令 用户 Rust

Rust项目使用Dockerfile构建镜像 访问crates.io下载速度慢解决

在 $CARGO_HOME/config文件添加国内的镜像源 下面的镜像源来自:https://rsproxy.cn/ ```yaml FROM rust:1.72 as builder WORKDIR /usr/src COPY . . RUN echo "[source.crates-io]\n ......
Dockerfile 镜像 速度 项目 crates

文盘Rust——起手式,CLI程序

我们来看看如何通过几个步骤快速的实现一个功能相对齐全的CLI程序。和做饭一样,能够快速获得成就感的方式是找半成品直接下锅炒一盘 ......
程序 Rust CLI

Rust基础学习

# Rust基础学习 Rust是一种适合于系统开发、网络层等开发的编程语言,具有高效、安全的特性。 ## Cargo ### 常用命令 Cargo是Rust用来管理代码的工具。常用指令有: 1. 创建新项目: ``` cargo new hello_cargo ``` 2. 构建项目 ``` car ......
基础 Rust

Rust-高级进阶

# Rust高级进阶 ## 生命周期进阶 ### 生命周期约束 通过形如 `'a: 'b` 的语法,可以说明两个生命周期的长短关系。 * `'a:'b` 这种情况说明生命周期`'a >= 'b`。 ```rust struct DoubleRef { r: &'a T, s: &'b T } ``` ......
Rust