草庐IT

rust-crates

全部标签

Rust开发环境搭建(Linux)

1、使用Rustup安装       执行如下命令curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs|sh       执行结果如下:        在这里使用默认的安装,执行结果如下:2、配置Rust环境变量        当出现Rustisinstallednow.Great时执行如下命令配置Rust环境变量source$HOME/.cargo/env        在Rust开发环境中,所有工具都安装在~/.cargo/bin目录中,您可以在这里找到包括rustc、cargo和rustup在内的Rust工具链。3、验证是否安装成功  

Rust 标准库字符串类型String及其46种常用方法

Rust字符串Rust主要有两种类型的字符串:&str和String&str由&[u8]表示,UTF-8编码的字符串的引用,字符串字面值,也称作字符串切片。&str用于查看字符串中的数据。它的大小是固定的,即它不能调整大小。StringString类型来自标准库,它是可修改、可变长度、可拥有所有权的同样使用UTF-8编码,且它不以空(null)值终止,实际上就是对Vec的包装,在堆内存上分配一个字符串。其源代码大致如下:pubstructString{vec:Vec,}implString{pubfnnew()->String{String{vec:Vec::new()}}pubfnwith_

Rust Web 全栈开发之增加教师管理功能

RustWeb全栈开发之增加教师管理功能增加教师管理功能目标ActixHTTPServerActixAppRoutesGET/teachersGET/teachers/POST/teachersPUT/teachers/DELETE/teachers/Handlersget_all_teachersget_teacher_detailspost_new_teacherupdate_teacher_detailsdelete_teacherDBAccessget_all_teachers_dbget_teacher_details_dbpost_new_teacher_dbupdate_teac

用Rust实现区块链 - 1 区块和区块链

区块链从技术角度上看就是一个去中心化的,点对点的,保证最终一致性的分布式数据库。下面我们先来实现区块及区块链。区块区块存储了区块链中的有效信息,如交易等。这一部分我们先实现简单的区块及区块链,把框架搭建起来,后面随着新功能的加入,再逐渐去完善。区块头#[derive(Debug,Serialize,Deserialize,PartialEq,Eq)]pubstructBlockHeader{timestamp:i64,prev_hash:String,nonce:usize,}timestamp:时间戳prev_hash:前一个区块的Hash值nonce:随机数,用于计算工作量证明区块#[de

文盘Rust -- 用Tokio实现简易任务池

作者:京东科技贾世闻Tokio无疑是Rust世界中最优秀的异步Runtime实现。非阻塞的特性带来了优异的性能,但是在实际的开发中我们往往需要在某些情况下阻塞任务来实现某些功能。我们看看下面的例子fnmain(){letmax_task=1;letrt=runtime::Builder::new_multi_thread().worker_threads(max_task).build().unwrap();rt.block_on(async{println!("tokio_multi_thread");foriin0..100{println!("run{}",i);tokio::spawn

文盘Rust -- 用Tokio实现简易任务池

作者:京东科技贾世闻Tokio无疑是Rust世界中最优秀的异步Runtime实现。非阻塞的特性带来了优异的性能,但是在实际的开发中我们往往需要在某些情况下阻塞任务来实现某些功能。我们看看下面的例子fnmain(){letmax_task=1;letrt=runtime::Builder::new_multi_thread().worker_threads(max_task).build().unwrap();rt.block_on(async{println!("tokio_multi_thread");foriin0..100{println!("run{}",i);tokio::spawn

Rust - 简单使用 reqwest 发起 HTTP 请求

Rust-简单使用reqwest发起HTTP请求一、reqwest是什么二、使用reqwest发起请求1.在Cargo.tom添加依赖2.main.rs三、文章参考一、reqwest是什么reqwest是一个简单而强大的RUSTHTTP客户端,用于浏览器异步HTTP请求。支持xmlHttpRequest,JSONP,CORS,和CommonJS约束。二、使用reqwest发起请求1.在Cargo.tom添加依赖[dependencies]reqwest={version="0.11.11",features=["json","cookies"]}tokio={version="1",featu

Rust Web 全栈开发之 Web Service 中的错误处理

RustWeb全栈开发之WebService中的错误处理WebService中的统一错误处理ActixWebService自定义错误类型->自定义错误转为HTTPResponse数据库数据库错误串行化serde错误I/O操作I/O错误Actix-Web库Actix错误用户非法输入用户非法输入错误Actix-Web的错误处理编程语言常用的两种错误处理方式:异常返回值(Rust使用这种)Rust希望开发者显式的处理错误,因此,可能出错的函数返回Result枚举类型,其定义如下:enumResult{Ok(T), Err(E),}例子usestd::num::ParseIntError;fnmain

气走核心成员!Rust领导小组粗暴撤换主讲人!

51CTO读者成长计划社群招募,咨询小助手(微信号:CTOjishuzhan)编译|王瑞平、言征Rust内部人员之间的斗争从未停止。最近,Jntrnr辞去了Rust的工作,他曾于2021年加入RustCoreteam。关于发生此事的原因,大家有很多揣测,因此,他在博客上发布了文章,特意澄清了真实的原因。与此同时,他还在Twitter上就此事做出了简要的说明:“我已辞去Rust中的所有职务,立即生效。很多人问我这个问题,所以我写了一篇声明,说明我为什么辞去Rust的工作。”一、究竟发生了什么?我为什么离开?先从我的视角向大家汇报一下事情的来龙去脉:1.我们向临时领导小组发出了邀请,希望他们能成为

Rust 基础系列 #5: Rust 中的函数

就跟任何现代编程语言一样,Rust也有函数。你已经熟悉的函数是 main 函数。这个函数在程序启动时被调用。但是其他函数呢?在本文中,你将学习如何在Rust程序中使用函数。函数的基本语法你可能已经在我们声明 main 函数时知道了这一点,不管怎么样,还是让我们看一下声明函数的语法。//声明函数fnfunction_name(){;}//调用函数function_name();来让我们看一个简单的函数,它将字符串 "Hithere!" 打印到标准输出。fnmain(){greet();}fngreet(){println!("Hithere!");}📋与C不一样的是,不管你是否要在声明或定义之前