simper_zxb
码龄9年
关注
提问 私信
  • 博客:18,412
    18,412
    总访问量
  • 25
    原创
  • 66,501
    排名
  • 149
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:1.喜欢用表格学习 2.持续学习更新编程中新的技术 3.关注我一起来学习进步吧 每天10.30-11 学习rust

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-12-07
博客简介:

a759329151的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    231
    当月
    1
个人成就
  • 获得179次点赞
  • 内容获得1次评论
  • 获得154次收藏
创作历程
  • 24篇
    2024年
  • 1篇
    2017年
成就勋章
TA的专栏
  • rust基础
    18篇
  • rust实战
    3篇
  • k8s
  • 前端
    1篇
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【rust实战】rust博客系统4_连接数据库及查询数据

当使用get检索数据时,如果键值存在,返回Some(T), 如果键值不存在,返回None,会引发一个带有指定消息(这里时REASON)的panic错误。mysql::Result: T被替换成了(), 即单元类型,表示这个函数不返回值。Result没有指定这两个参数时,通常是在泛型上下文中,具体类型在其他地方被指定了。:如果get_conn返回的Err变体,则?为什么不用::而用. .调用对象的方法 ::访问关联函数或者静态方法。,它可以有两个值,一个是Some(T) 一个是None,
原创
发布博客 2024.11.02 ·
564 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

【rust实战】rust博客系统3_项目目录结构及文件目录引入

main.rs --main中引用sub_module.rs的内容 my_module.sub_module::say_hello()在main中直接写 mod my_module 也可以引入sub_module.rs的内容。2.从某个版本开始,可以不在目录下创建mod.rs,也能引入该目录下的.rs文件。3.main中使用 my_module.rs中的方法。1.mod声明了项目中的模块结构,告诉编译器哪里可以找到这些。mod.rs --内容为。main.rs --主文件。
原创
发布博客 2024.10.29 ·
557 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

【rust实战】rust博客系统2_使用wrap启动rust项目服务

map(|| "hello,warp") 对前面的过滤结果进行map操作,map方法接收一个闭包,该闭包在匹配导路径时执行,并返回一个值。||"hello,warp" 无参数闭包,返回字符串 hello warp。运行rust项目,然后浏览器输入 127.0.0.1:8080 可以看到输出内容。warp::path::end() 用于匹配根路径 /在[dependencies]中添加。3.在src的main中 写启动服务器的代码。如何创建一个使用warp框架的rust项目。2.添加warp依赖。
原创
发布博客 2024.10.22 ·
480 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【rust实战】rust博客系统1_rust后端框架选择

1.成熟稳定,提供了完整的web服务器解决方案,包括路由,中间件 websocket等。2.模块化设计 可以灵活组合不同的过滤器来构建路由 处理逻辑。("Hello,{}!",name)): 闭包。因为这次做的是一个博客系统,所以我们暂时采用warp作为后端开发框架。3.基于 tokio 异步运行时,提供了强大的异步编程能力。3.提供了大量的中间件和插件,可以方便集成各种问题。5.适用场景:需要处理高并发的项目。warp = "0.3" # warp版本。4.学习曲线相对陡峭。
原创
发布博客 2024.10.10 ·
474 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【rust学习】rust基础知识清单详情(全)

unwrap() 方法会检查 Result,如果是 Ok,它会返回里面的值(在这个例子中是锁住的计数器),如果是 Err,程序将会 panic(即异常终止).map(|url| tokio::spawn(download_data(url))) //map方法遍历urls,每个url调用tokio::spawn启动一个新的异步任务。fn call_fn(f: F) where F: Fn() { //:泛型参数的声明 where F:Fn() F必须实现Fn() trait。
原创
发布博客 2024.09.30 ·
1272 阅读 ·
23 点赞 ·
0 评论 ·
19 收藏

rust学习_rust基础知识

rust基础学完了,对照表格复习下基础知识点吧。如何使用 tokio::spawn 启动新的异步任务。如何使用 tokio::join!UnsafeCell是什么 如何使用。如何更新hashMap中已经存在的元素。RefCell是什么 如何使用。如何使用结构体更新语法创建新的实例。如何使用map和filter创建。如何访问hashMap中的元素。Cell是什么 如何使用。闭包如何使用闭包外的环境变量。Box是什么 如何使用。Arc是什么 如何使用。
原创
发布博客 2024.09.27 ·
421 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

rust学习_rust安装 运行 以及cargo解释

1.执行build的时候,可以带参数 cargon build --release。1.执行 cargon run会先自动执行 cargon build。2.为什么 cargon run可以 build,还要先 build。3.通过 cargo test 命令来运行项目的单元测试。2.通过 cargo new命令快速创建项目。1.通过cargo.toml 文件管理依赖项。1.项目管理:通过cargo 构建 运行 测试项目。1.cargon build:编译。2.cargon run 运行。
原创
发布博客 2024.09.26 ·
421 阅读 ·
6 点赞 ·
0 评论 ·
1 收藏

rust学习_基础语法_数据类型_注释

3.可变字符串 let string: String = String::from("world") //可变字符串。1.定义元组 let tuple_example = (10, "hello", 3.14)2.字符串切片 let s: &str = "hello" //字符串切片。1.单个字符 let c:char = 'a' //单个字符。1.println!3.定义可变数组 let mut a = [1,2,3]1.定义数组 let a =[1,2,3,4,5]
原创
发布博客 2024.09.26 ·
335 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

rust学习_函数

1.函数中可以使用 if loop for while等循环。x + y // 这里没有分号,所以这是返回值。//最后一个表达式通常是返回值(如果。1.表达式是计算某个值的代码片段。3.函数可以有返回值 也可以不返回值。2.表达式不以分号(;3.如 x+1 就是表达式。z + 10 // 这里是返回值。2.函数可以有参数 也可以没有。
原创
发布博客 2024.09.25 ·
273 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

rust学习_条件语句和循环

if <condition> {block 1} else { block 2 } block1和block2是函数体表达式。:用于处理模式匹配,它允许你将一个特定的模式与一个值进行比较,如果匹配,则执行对应的代码块。2.loop {} 会一直执行 直到遇到break。("值为:{}",i)if number {} 会报错。rust中条件表达式必须是bool类型。//通过下标访问数组。
原创
发布博客 2024.09.24 ·
135 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

rust学习_迭代器

/ println!// 下面的代码会导致编译错误,因为 `vec` 已经被 `into_iter` 消耗了。//fold:将迭代器中的元素累积成一个单一的值。// 链式调用:筛选出偶数,然后对每个元素乘以 2,最后收集到一个 Vec 中。2.创建可变借用迭代器(允许在遍历过程中修改集合元素 )// 创建一个迭代器,对每个元素乘以 2。// 创建一个迭代器,筛选出偶数。// 使用 fold 计算总和。:将迭代器中的元素收集到一个集合中。3.迭代器的链式调用。
原创
发布博客 2024.09.24 ·
363 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

rust学习_闭包

fn call_fn(f: F) where F: Fn() { //:泛型参数的声明 where F:Fn() F必须实现Fn() trait。这些变量的所有权会被移动到闭包中,因此在闭包外部不能再使用这些变量。("{}",s ) //这行代码会报错,因为s的所有权已经转到了闭包。5.获取所有权:获取到外部变量的使用权后,闭包可以访问该变量,外部不能访问。("{}",s ) //move:获取变量的。1.Fn:表示闭包可以多次被调用 每次调用都会借用环境中的变量。
原创
发布博客 2024.09.23 ·
786 阅读 ·
8 点赞 ·
0 评论 ·
18 收藏

rust学习_所有权

/上面函数中的my_list所有权已经转移到了这里的my_list 所以上面函数打印my list时会报错。1.当一个函数返回一个东西时,如果这个东西是小的(比如数字,布尔),那么函数就像在复印一张纸,给你一张复印件,它还留着原来那张纸。2.但是如果这个东西比较大(比如一段文件,一个列表),那么函数就直接把东西给了你了,自己不留着,你获取了这个东西的所有权。在give_away_list函数内部再次访问 my_list时会报错,因为my_list的所有权已经给了my_list。//a给了b a无效了。
原创
发布博客 2024.09.22 ·
282 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

rust学习_结构体

("书架上有:{} 和 {}", bookshelf.book1, bookshelf.book2);2.结构体方法的第一个参数是self 可以是self &self &mut self。假如你有一个现有结构体,并且想创建一个新的实例,但只需要更改其中一部分,就可以使用结构体更新语法。2.赋值和转移, 当你把这个书架(结构体实例)给了别人,别人获得了这个书架和这个书架。1.创建结构体时,就相当于书架上上了新书,这些新书(字段)属于这个书架。// 使用结构体更新语法创建新的实例。
原创
发布博客 2024.09.21 ·
911 阅读 ·
18 点赞 ·
0 评论 ·
16 收藏

rust学习_异步编程

map(|url| tokio::spawn(download_data(url))) //map方法遍历urls,每个url调用tokio::spawn启动一个新的异步任务。while let Some(message) = messages.next().await { //每次接收到一条消息,就可以立即处理这条消息。1.异步函数:使用async关键字定义一个异步函数,异步函数返回一个实现了Future特性的类型,这个Feature类型代表一个可能还未完成的计算。("任务出错: {}", e),
原创
发布博客 2024.09.20 ·
934 阅读 ·
15 点赞 ·
0 评论 ·
9 收藏

rust学习_智能指针

概念:是 Cell<T> 的基础,它允许你修改任何类型的值,但使用它时必须非常小心,因为它绕过了 Rust 的所有权和生命周期系统,可能会导致不安全的行为。比喻:假设你和你的朋友都想读同一本书,但是你们不想每个人都购买,于是你们决定一起买一本。但是,你发现了一个秘密房间(比喻:想象你有一块橡皮擦,你可以在任何时候使用它擦掉写下的字,即使书已经在别人手上。比喻:想象你有一个魔法盒子,你可以随时修改里面的东西,但如果你不小心,可能会引发灾难。),在这个房间里,你可以自由地在书上做笔记,只要没有人发现。
原创
发布博客 2024.09.19 ·
344 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

rust学习_宏

[proc_macro_derive(Counter)] //标记表明这是一个过程宏 用于派生(derive)宏,并且它的关联的宏的名称是Counter。#[derive(Counter)] //告诉 Rust 编译器使用我们定义的 Counter 过程宏来为 MyStruct 结构体生成代码。就是一个填空题,你只需要填两个数字,它就会帮你生成一个if语句来比较两个数字,并返回较大的那个。// 返回生成的代码 将生成的代码转换回 TokenStream 并返回它。
原创
发布博客 2024.09.18 ·
392 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

rust学习_并发编程

想象一下,你有一个特殊的计数器(就像一个可以计数的魔法盒子),这个计数器放在一个保险箱里,这样只有拥有钥匙的人才能打开它并改变里面的数字。在循环内部,每个朋友都获得了一个计数器副本的遥控器(Arc::clone(&counter)),并且通过 thread::spawn 创建了一个新的线程。然后,使用 Arc(原子引用计数)来创建这个计数器的一个安全副本,这样多个朋友(线程)都可以拥有这个计数器的引用,而不会担心数据的安全问题。//这个盒子(handles)目前是空的,但它是专门用来存放“句柄”的。
原创
发布博客 2024.09.17 ·
1420 阅读 ·
24 点赞 ·
0 评论 ·
7 收藏

rust学习_面向对象

/ 通过Library实例直接调用Book实例的print_details方法。// 使用Book实例来创建Library实例。// 泛型函数,接受实现了 UserBehavior Trait 的引用。//5. main函数中使用library和book。//3.liabrary用book实例。// Book自己的方法。// 创建一个Book实例。/ / 定义一个 Trait,描述用户的基本行为。//4.实现library的构造函数。//1.定义Book结构体。//2.Book的方法。
原创
发布博客 2024.09.16 ·
1100 阅读 ·
18 点赞 ·
0 评论 ·
18 收藏

rust学习_集合与字符串

Unicode:可以表示ASCII中的字符,也可以表示ASCII之外的字符 如中文的 ”汉“1.|e|:定义闭包, |e|表示闭包接收一个参数e 在上面例子中,e是一个可变引。2.空间复杂度:HashMap 通常比存储同样数量元素的 Vec 需要更多的空间,因为它。2. *e: e是一个可变引用,需要使用 * 来访问它指向的实际值。传给宏的参数,传给宏一组数字,宏会帮我们创建一个包含这些数字的向量。3. *e +=1: 将e指向的值增加1。:就像一本书的内容,你只读,不可修改,也不能带走(拥有数据)
原创
发布博客 2024.09.14 ·
740 阅读 ·
14 点赞 ·
0 评论 ·
8 收藏
加载更多