张汉东的 Rust 实战课
张汉东
《Rust 编程之道》作者
11983 人已学习
新⼈⾸单¥68
课程目录
已完结/共 174 讲
第一章:Rust语言基础 (32讲)
时长 11:04
时长 04:20
第二章:Rust语言核心概念 (56讲)
第三章:Rust异步编程基础 (52讲)
第四章:构建自己的异步Web框架 (34讲)
张汉东的 Rust 实战课
登录|注册
留言
9
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 41 | 借用检查: 深入理解生命周期参数Early bound
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
学习方法推荐与课程组织逻辑
03 | Rust语言学习观
04 | Rust语言概览
05 | 语法面面观:词法结构
06 | 语法面面观:面向表达式(一)
07 | 语法面面观:面向表达式(二)
08 | 语法面面观:面向表达式(三)
09 | 语法面面观:数据类型 (一)
10 | 语法面面观:数据类型 (二)
11 | 语法面面观:函数与闭包(一)
12 | 语法面面观:函数与闭包(二)
13 | 语法面面观:函数与闭包(三)
14 | 语法面面观:模式匹配
15 | 语法面面观:智能指针(一)
16 | 语法面面观:智能指针(二)
17 | 语法面面观:字符与字符串(一)
18 | 语法面面观:字符与字符串(二)
19 | 语法面面观:集合容器(一)
20 | 语法面面观:集合容器(二)
21 | 语法面面观:迭代器(一)
22 | 语法面面观:迭代器(二)
23 | Rust语法面面观:模块
24 | 语法面面观:Cargo包管理器(一)
25 | 语法面面观:Cargo包管理器(二)
26 | 语法面面观:实际项目的组织结构(一)
27 | 语法面面观:实际项目的组织结构(二)
28 | 语法面面观:定义自己的Crate(一)
29 | 语法面面观:定义自己的Crate(二)
30 | 语法面面观:定义自己的Crate(三)
31 | 作业&第二章预告
32 | 本章内容介绍:Rust语言架构
33 | 所有权:内存管理基础知识
34 | 所有权:安全管理之内存安全
35 | 所有权:Copy语义和Copy trait
36 | 所有权:深入理解Copy行为
37 | 所有权:深入理解Move语义
38 | 所有权:Move与析构
39 | 借用检查: 完全理解Scope和NLL
40 | 借用检查: 深入理解生命周期和生命周期参数
41 | 借用检查: 深入理解生命周期参数Early bound
42 | 借用检查:深入理解生命周期参数Tvs&T
43 | 借用检查: 深入理解生命周期参数: trait对象的生命周期参数
44 | 借用检查: 深入理解生命周期参数:高阶生命周期(一)
45 | 借用检查: 深入理解生命周期参数:高阶生命周期(二)
46 | 借用检查: 深入理解生命周期参数:高阶生命周期(三)
47 | 线程与并发:理解线程与并发
48 | 线程与并发:线程间安全共享数据
49 | 线程与并发:构建「无悔」并发系统(一)
50 | 线程与并发:构建「无悔」并发系统(二)
51 | 线程与并发:构建「无悔」并发系统(三)
52 | 线程与并发:构建「无悔」并发系统(四)
53 | 线程与并发:无锁并发(一)
54 | 线程与并发:无锁并发(二)
55 | 线程与并发:无锁并发(三)
56 | trait与泛型:trait静态分发
57 | trait与泛型:认识trait对象
58 | trait与泛型:泛型和trait实现模板方法
59 | trait与泛型:trait对象本质
60 | trait与泛型:对象安全本质
61 | trait与泛型:利用Enum代替trait对象
62 | trait与泛型:trait覆盖实现的一个解决方案
63 | trait与泛型:trait对象与Sized
64 | trait与泛型:trait对象与Box Self
65 | 编程范式:Rust语言编程范式讨论(一)
66 | 编程范式:Rust语言编程范式讨论(二)
67 | Rust错误处理概要
68 | Rust错误处理:Option
69 | Rust错误处理:Result(一)
70 | Rust错误处理:Result(二)
71 | Rust错误处理:try
72 | Rust错误处理:Panic
73 | Rust元编程之反射
74 | Rust元编程之反射的两种应用思路
75 | Rust元编程之编译过程与宏展开概述
76 | Rust元编程之声明宏(一)
77 | Rust元编程之声明宏(二)
78 | Rust元编程之过程宏:三件套介绍
79 | Rust元编程之过程宏:Bang宏实现原理
80 | Rust元编程之过程宏:使用配置文件动态生成代码
81 | Rust元编程之过程宏:Derive宏案例
82 | Rust元编程之过程宏:属性宏
83 | 客观理解Unsafe Rust
84 | Unsafe Rust安全抽象
85 | Unsafe Rust安全抽象:Drop检查
86 | Unsafe Rust安全抽象:型变
87 | UnsafeRust的其他知识点
88 | Rust异步编程之IO模型
89 | Rust异步编程之epoll和io_uring
90 | Rust异步编程之事件驱动编程模型
91 | Rust异步编程之epoll代码实践
92 | Rust异步编程之Reactor代码实践
93 | Rust异步编程之MiniMio代码实践
94 | Rust异步编程之Mio代码实践(一)
95 | Rust异步编程之Mio代码实践(二)
96 | Rust异步编程之异步编程模型概要
97 | Rust异步编程之Future和Futures-rs介绍
98 | Rust异步编程之编写异步echo服务(一)
99 | Rust异步编程之编写异步echo服务(二)
100 | Rust异步编程之编写异步echo服务(三)
101 | Rust异步编程之深入理解异步Task模型
102 | Rust异步编程之Waker实现
103 | Rust异步编程之Futures库源码导读(一)
104 | Rust异步编程之Futures库源码导读(二)
105 | Rust异步编程之Futures库源码导读(三)
106 | Rust异步编程之Futures库源码导读(四)
107 | Rust异步编程之async-await语法背后
108 | Rust异步编程之生成器(一)
109 | Rust异步编程之生成器(二)
110 | Rust异步编程之Pin与Unpin(一)
111 | Rust异步编程之Pin与Unpin(二)
112 | Rust异步编程之Pin与Unpin(三)
113 | Rust异步编程之Pin与Unpin(四)
114 | Rust异步编程之no-std异步生态介绍
115 | Rust异步编程之实现异步缓存(一)
116 | Rust异步编程之实现异步缓存(二)
117 | Rust异步编程之异步运行时生态介绍
118 | Rust异步编程之smol运行时(一)
119 | Rust异步编程之smol运行时(二)
120 | Rust异步编程之smol运行时(三)
121 | Rust异步编程之smol运行时(四)
122 | Rust异步编程之smol运行时(五)
123 | Rust异步编程之smol运行时(六)
124 | Rust异步编程之smol运行时(七)
125 | Rust异步编程之smol运行时(八)
126 | Rust异步编程之smol运行时(九)
127 | Rust异步编程之smol运行时(十)
128 | Rust异步编程之async-std运行时(一)
129 | Rust异步编程之async-std运行时(二)
130 | Rust异步编程之tokio运行时(一)
131 | Rust异步编程之tokio运行时(二)
132 | Rust异步编程之tokio运行时(三)
133 | Rust异步编程之tokio运行时(四)
134 | Rust异步编程之tokio运行时(五)
135 | Rust异步编程之tokio运行时(六)
136 | Rust异步编程之tokio运行时(七)
137 | Rust异步编程之tokio运行时(八)
138 | Rust异步编程之tokio运行时(九)
139 | Rust异步编程之tokio运行时(十)
140 | Rust异步Web框架开篇
141 | Rust异步Web框架之Rocket(一)
142 | Rust异步Web框架之Rocket(二)
143 | Rust异步Web框架之Rocket(三)
144 | Rust异步Web框架之tide
145 | Rust异步Web框架之actix-web(一)
146 | Rust异步Web框架之actix-web(二)
147 | Rust异步Web框架之gotham-and-thruster
148 | Rust异步Web框架之tower(一)
149 | Rust异步Web框架之tower(二)
150 | Rust异步Web框架之hyper(一)
151 | Rust异步Web框架之hyper(二)
152 | Rust异步Web框架之hyper(三)
153 | Rust异步Web框架之warp
154 | Web框架实战之HTTP库介绍
155 | Web框架实战之了解hyper-tower_http-http-body之间的层次关系
156 | Web框架实战之创建初始项目
157 | Web框架实战之设计框架接口
158 | Web框架实战之实现路由结构
159 | Web框架实战之实现路由结构(二)
160 | Web框架实战之实现路由结构(三)
161 | Web 框架实战之实现路由结构(四)
162 | Web 框架实战之实现路由结构(五)
163 | Web 框架实战之实现 Handler(一)
164 | Web 框架实战之实现 Handler(二)
165 | Web 框架实战之实现 Handler(三)
166 | Web 框架实战之实现 Handler(四)
167 | Web 框架实战之添加 tracing 打印
168 | Web 框架实战之实现提取器(一)
169 | Web 框架实战之实现提取器(二)
170 | Web 框架实战之实现提取器(三)
171 | Web 框架实战之实现提取器和中间件(四)
172 | Web 框架实战之错误处理支持
173 | 课程完结回顾
本节摘要
登录 后留言

全部留言(9)

  • 最新
  • 精选
心猿意码
上一节中提到,输入的引用的生命周期要大于等于输出的,这一节中多个地方说错。
2021-02-25
3
8
学不完不改名
张老师牛逼, 居然还发现了早绑定晚绑定的用法
2020-12-19
2
易水
输出生命周期必须和输入生命周期相关联, 本例中 read_bytes 真正的和输出生命周期相关联的输 入生命周期是 Buffer::buf 的生命周期, 让 read_bytes 输出的生命周期和 Buffer::buf 的生 命周期保持一致, 就保证了输出生命周期小于等于输入生命周期. 从而可以编译执行. 这比分析early 或 late bound要简单些.
2021-01-16
3
1
未成熟的稚气_
反复看了两三遍,终于看懂了!🙏
2020-12-29
3
1
陆一鸣猜不动
这节课讲的确实比较混乱,没有讲明白Rust这么设计的原因。可能展示一些MIR的代码会方便理解吧
2022-02-21
A 凡
https://dtolnay.github.io/rust-quiz/11 视频中关于这个的题的中 late bound 和 early bound 还是没明白,老师能解释一下么
2022-01-16
1
Amesy
严重怀疑老师在这节视频中没睡醒😒😿 口误不是一处两处。绝对是目前听到的最懵的一节视频😾
2022-01-02
神 一生有你
输出小于输入
2021-08-15
陈顺吉
没懂为什么 let pf = f::<'static> as fn(); 是 late bound,let pg = g::<'static> as fn(); 就是 early bound
2021-01-17
1
收起评论