说到 Rust 大部分人都喜欢把它和 go/c/c++ 比,强调内存安全,性能高,学习曲线陡峭等特点,但这些特点其他语言或多或少都有。Rust 真正让我喜欢的是现代性。什么是现代性?说实话,我很难用一两句化把它说明清楚,这是我写 等具有一定规模的 Rust 项目得到感受,这种感受很难在其他语言中得到。写得越多,越能感受到 Rust 的诞生既包含过去几十年语言设计实践,又包含工程化实践的沉淀,同时也是对未来编程语言的探索。 Rust 的语言设计是个复杂的问题,我涉猎不多,仅举两个简单的例子。首先,Rust 应该静态强类型语言,尽量保证编译期类型安全。但这样会显得代码很啰嗦,所以 Rust 可以进行类型推导,除非编译器确实不知道某个变量类型,才需要显式指定类型。如果你的函数写得足够单一简短,函数体内的代码大部分都不需要额外的类型标注。其次是 Rust 的高表达能力, 这个回答的最后有比较 Rust 和 Python 代码,同一个功能,两者代码量几乎一样,这也是一个例子。 接着是 Rust 在工程化的优秀之处。Cargo 在处理依赖,编译项目,发布项目的优秀之处相比不用我多说。先问各位一个问题,你在初次接触一个大项目时,熟悉项目结构,找项目入口花了多少时间?你为了 build 一个项目,看或写makefile花了多少时间?在 Rust 中通过 另外一个值得称赞的是 Rust 内建的 doc 功能,除了常见的单行注释,Rust的多行注释其实支持 markdown 语法和 doc test 使用 vscode + rust-analyzer 可以在悬浮查看带标题,加粗等格式的文档,而且 doc 中代码块可以直接跑 doc test, 既充当了使用例子又能检测代码正确性。使用 至于展望未来,Rust 选择了所有权系统和生命周期管理内存,本身就是一个探索,不是吗? 最后,Rust 难吗?所有权和生命周期确实挺特殊,但你只需大致理解就能开始写代码了,不需要深入理解或掌握。我写的2w多代码里需要生命周期标注的比例其实不高。与其畏手畏脚,不如直接上手,有编译器帮你兜底,怕啥?for item in xx.iter()
,map
,skip
,fold
还有方便的字符串,数组处理函数(这个其实非常重要), 让你可以用尽量少的代码实现逻辑。我在Cargo.toml
我们轻松找到项目入口,简单的项目是main.rs或lib.rs
, 或者在Cargo.toml
中通过[[bin]]
,[members]
指定。明白项目项目入口在哪里,就能顺着程序流程大致了解程序如何实现,达到快速熟悉项目目标。cargo doc
也可以直接生成项目和项目依赖 文档,以最小人力消耗,劝导你写出可测试,可维护的代码。
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容