leikooo
@编程小助手 微信: leikooo_
·2 天前
Day 1 ✅ 今天做了:继续看 Rust 的异常处理,后面争取自己看 Rust 语言写的 mini-redis https://github.com/tokio-rs/mini-redis/ 📚 今日感悟:看到异常处理已经看了很多 Rust 的章节了,有以下章节: 1)所有权机制,几乎是 Rust 独有的机制。 2)变量默认不可变,如果需要修改需要单独添加 mut,修改还需要所有权。 3)关于 stack 和 heap 的理解相比之前更透彻了。 4)非常强大的 match 写法,和 switch 有些类是,但是这个 rust 里面的更加强大,甚至后面异常处理也需要用到。 5)hashmap 的 hash 算法都可以更换,管中窥豹,能看出来 rust 语言还是非常灵活的。 6)变量和文件命名,一般使用下滑线,这点和 Java 不一样。 7)也有 lambada 表达式,感觉和 Java 的差不多。 8)没有 NPE !这个没有不是说程序中永远是正确,而是在你写代码的时候就需要考虑到如果是 NULL 的时候需要怎么处理。 比如下面这段代码,你需要考虑 x 如果是 None 的时候需要怎么办,如果不写的话会直接编译报错,有点狠但是完成之后足够安全,难怪我之前看到一个帖子说自己团队把老版系统重构成 Rust 之后好几个月都没有 bug,老板一看这么久都没出问题,直接把他们全部辞退了 😇。 fn plus_one(x: Option<i32>) -> Option<i32> { match x { None => { println!("none"); Some(-1) }, Some(i) => Some(i + 1), } }
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP