说点 Rust 入门的感受吧

2022-04-27 09:39:40 +08:00
 mm163
算是强行入门 Rust 吧,大概四月初开始试着把 java 写的后端通信服务用 Rust 重写,每天思考着生命周期和各种异步操作,各种宏也摆弄的有声有色。一点一点地尝试和重构,系统的架构弄得 7788 了。
但是从上周末开始被迫进行另一个项目( go+react )收尾的一些事情,到今天基本弄完了,再回到 Rust ,
我的天,我写的都是什么,Rust 那些特性和要点、一点儿想不起来了。这学习曲线不仅上坡陡峭,下坡更陡。
这还没怎么爬呢,目前掌握的都是最浅显的,Rust 社区和一些博客的文章对我来说都是天书,而且 Rust 语言特性变化快,标准库变化也快,都增加了学习难度。
慢慢来吧,好像想起点来了:cargo run
4537 次点击
所在节点    Rust
11 条回复
DearMark
2022-04-27 09:44:08 +08:00
总结:天书
hwdef
2022-04-27 09:46:48 +08:00
感觉没必要强行上 rust ,,还是找到最适合它的地方。
Akitora
2022-04-27 09:47:11 +08:00
主要是资料少吧,用 actix_web 想简单配置个过滤请求的中间件,怎么返回 403 都查了老半天
Kilerd
2022-04-27 10:08:16 +08:00
@Akitora rust 目前很多时候需要你知道 how to do, 而不是 what I need.

新手和老手最大的问题在于: 新手完全不会看 docs.rs ,而老手认为 docs.rs 给出的信息已经足够丰富了,很多情况下不需要单独写 document 了,直接看 API 就可以了。

举个例子,我做了一个 DateTime 的扩展库,加了一个 to_timestamp 的方法。 那么在 docs.rs 里面,我都告诉你 impl MyTrait for DateTime { fn to_timestamp()} 了,这已经很明显很明显了。 应该一眼就能看出来。 但是新手往往会问你,这个库要怎么用。
一是,新手完全不会看 docs.rs
二是,大部分新手还没搞懂 其他语言 class 和 interface 与 Rust 的 trait 的区别。没能扭过「 rust 可以直接在结构体上追加特性」的特性


怎么阅读 TRPL ,docs.rscrates.rslibs.rs 可能俨然成为新时代下 Rust 新手的必备但是没人教的技能之一。
cmdOptionKana
2022-04-27 10:14:35 +08:00
@Kilerd 当作一种筛选也不错,水平不到位的新手强行学 rust ,对谁都没有好处,就让高手 /老手去用 rust ,也许才是最好的归宿。
Akitora
2022-04-27 10:41:31 +08:00
@Kilerd 当时翻了几遍这个库的 docs.rs ,只有提到修改请求没有怎么在中间件中断请求,最后还是从官方的 Discord 群组翻到的解决方法,不少人在问类似的问题
ihciah
2022-04-27 11:38:25 +08:00
对于文档不全的 crate ,比起各种找 example 或接口说明,直接翻代码看实现有时候更快(
encro
2022-05-11 18:58:27 +08:00
@Akitora

axum 中间件相当简单。例子很多。。。
wangm23456
2022-06-17 23:11:31 +08:00
写了两个星期了,确实累,ide 里的编译器提示太多了 233333
IIInsomnia
2023-03-07 17:09:06 +08:00
[api-tpl-rs]( https://github.com/shenghui0779/api-tpl-rs) 非常适合新手,基本功能都有了
leisifung
2023-08-10 09:55:00 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX