
Rust
文章平均质量分 59
艾仪
02 bug王,会写bug,每天都会写个小bug奖励自己.梦想是 写出谁也找不到的bug
展开
-
Rust - Option 常用方法
学习Rust不仅需要知道标准库的常用triat 以外,还需要知道 常用类型的常用方法Option 枚举应该是最常用的类型了推荐文章Rust 标准库中的 Trait 之旅开始简述: Option 就是一个枚举,用来代表null的概念pub enum Option<T> { None,//没有价值,也就是null Some(T),//存有T类型值}常用方法T 代表 Some(T) 中的T类型v 代表 Some(v) 中的 v 值impl<T> Op原创 2022-05-22 20:04:29 · 760 阅读 · 0 评论 -
写一个简单的 可扩展功能的 计算器
看完解析器设计模式,忍不住的也尝试了一下一个简单可扩展的计算器,不知道有没有bug,反正我没遇到,哈哈trait 运算规则 { fn 运算符(&self)->&'static str; ///数值越大优先级越大 fn 优先级(&self)->i32; fn 运算算法(&self,a:f64,b:f64)-> f64; /// 如果出现 ( + 运算符 + 数字 + ) ,的情况,直接把数字处理,比如: '(' + '-' + '1' + ')原创 2022-04-19 20:04:19 · 528 阅读 · 0 评论 -
Rust - Rocket 和 Vue 简单实现分片上传
第一次写分片上传,记录一下~刚学Rust没多久,代码有点乱,勉强可以浅看一看还没实现 续传,未来可能更新这篇文章首先确定临时文件目录fn 分片_root_path<P: AsRef<Path>>( path: P)-> PathBuf { Path::new("./public/分片").join(path)}确定trait(接口)pub trait 分片 { /** #推入一个分片 */ fn push_data(&self,piec原创 2022-04-06 18:33:19 · 1086 阅读 · 0 评论 -
Rust-Rocket 跨域问题
首先导入rocket_cors = { git = "https://github.com/lawliet89/rocket_cors", branch = "master" }//获取最新版本//rocket_cors = "0.5.1"//不要导入这个版本,它会说 Cors没有实现 Fairing . 没错,我就是这个原因导致我找了半天...打包命令,导入rocket_cors后需要使用 nightlycargo +nightly build --release --target=x86_64原创 2022-04-06 17:57:09 · 677 阅读 · 0 评论 -
Rust - Rocket框架 -基础入门
Roket官网官方是english文档,看的很累~新建项目cargo new 项目名 --binCargo.toml[dependencies]rocket = "0.5.0-rc.1"Hello,world! src/main.rs#[macro_use] extern crate rocket;#[get("/")] // 路由属性 fn index() -> &'static str {//请求处理程序 "Hello, world!"}#[lau原创 2022-03-06 15:37:21 · 5440 阅读 · 0 评论 -
Rust 闭包fn,Fn,FnMut,FnOnce 和move关键字
struct ABC<B,C,D>where B: Fn(), //可以捕获 引用 C: FnMut(), //可以捕获 可变引用 D: FnOnce() //可以捕获 移动{ A:fn(),//不能捕获环境 B:B, C:C, D:D,}fn main() { let mut a=String::from("aaa"); let mut f = ABC{ A:||{ // println!("{}",&a);//报错,fn类型不能捕获环境 },原创 2022-02-23 12:37:36 · 1118 阅读 · 2 评论 -
Rust 散-未整理笔记
别名可以用 type 语句给已有的类型取个新的名字别名的主要用途是避免写出冗长的模板化代码 . 如 IoResult 是 Result<T, IoError> 类型的别名type Str = String;fn main() { let s=Str::from("123");}原创 2022-02-22 23:34:54 · 222 阅读 · 0 评论 -
Rust 生命周期
Rust 生命周期首先每个引用都有生命周期,也就是引用保持有效的作用域一个引用的作用域从声明的地方开始一直持续到最后一次使用为止let a=String::from("a");let b=&a;//b的诞生 ,后续没有在使用b,所以b死亡在借用者生命期间,所有者必须是活的,不然就会产生悬垂引用,幸运的是我们不用关注它,交给编译器来提示,编译器通过生命周期来检查大部分时候生命周期是隐含并可以推断的,但有些情况就无法推断了,需要程序员自己指出fn longest(x: &原创 2022-02-21 15:34:55 · 2284 阅读 · 2 评论 -
Rust 五分钟了解,三十分种入门
Rust 快速入门基本变量 - 常量基本Rust官方学习文档(中文): https://kaisery.github.io/trpl-zh-cn/title-page.html变量 - 常量基础let a:i32=1; //变量默认不可变//a=2 报错let mut b=1; //加mut则可变 const c:i32=1; //常量必须指明类型,变量通常可以推断出类型隐藏特性可以说就是重新定义了一个变量,只是名字一样而已,当然它并没有破坏作用域按官方的话说就是: R原创 2022-01-17 13:01:29 · 9318 阅读 · 0 评论