5 分钟速读之 Rust 权威指南(一)
开始
敝人前端出身,对于底层语言一窍不通,最近经常看到关于 rust 的文章标题:rust 被评为最喜爱的编程语言,rust 是代替 c、c++的编程语言,rust 是安全的编程语言。
本着好奇心看了一下 rust 的官网:https://www.rust-lang.org/zh-CN/ ,页面非常简洁,门上钉着几个大字:rust 是一门赋予每个人构建可靠且高效软件能力的语言。 大概浏览了一遍,看到可以将 rust 编译成 wasm,瞬间感觉 rust 这东西距离前端很近,心想,如今前端卷的这么厉害,何不另辟蹊径,一方面未来 wasm 是趋势的话,懂 rust 自然是对于前端工作者如虎添翼,另一方面,以后做前端没意思了,还可以转向底层开发方向。
rust 的官网有很完整的从入门到精通的教程,《rust 权威指南》就是官方出品的入门教程,如今中文数据也已经出版,不过官网也有免费的电子书,本人读下来用了两个月的时间,为了让你快速了解这门语言,接下来的一系列文章就是通过在阅读时的笔记整理出的这本书的速读版本,也许会引起你的兴趣。另外,由于本人是一位前端工作者,文中可能会使用 JS,TS 概念尝试理解 rust,有可能不是很贴切,您也可以自行翻阅原书来建立自己的理解。
语法尝鲜
let 用于声明变量,但是默认变量是不可变的,类似于 JS 中的 const。如果希望变量可变,前边需要加 mut(mutation)
常量,名字必须全部大写,显式注明类型
允许多次声明同名的新变量来覆盖(rust 中称之为:隐藏 shadow)旧变量的值
控制台输出方法:println!()
包管理器 cargo
cargo 是 rust 官方的包管理工具,可用于快速初始化一个项目或者贡献自己的包到 rust 包社区:https://crates.io/
官方文档:https://doc.rust-lang.org/cargo/index.html
Cargo.toml
rust 包配置文件,同样使用 semver 版本,在尝试时发现与 npm 的 package.json 有些区别,即使不加^号,也表示取第二版本号,而 package.json 是允许锁死版本号的。
Cargo.lock
同样用于锁定版本号,如果需要更新包版本,可以使用 cargo update 或者手动更改 Cargo.toml 中对应包的版本号
Cargo 常用命令
配置 cargo 安装源
国内使用 rust 官方源,安装速度很慢,可以改成国内源来加速安装
进入 cargo 文件夹: cd ~/.cargo
创建 config 文件: touch config
写入配置
rustc
rustc 命令可以将 rust 文件直接编译成二进制可执行文件,编译后的文件可在 win 和 mac 上直接运行。
官方文档:https://doc.rust-lang.org/rustc/index.html
rustup
rustup 是 rust 核心,用于更新 rust 等,例如 rustup update
rustdoc
rustdoc 命令用于为 Rust 项目生成文档。在基本层面上,Rustdoc 将包的根文件或 Markdown 文件作为一个参数,并生成 HTML、CSS 和 JavaScript。
官方文档:https://doc.rust-lang.org/rustdoc/index.html
一个完整的 Hello World 项目
安装 rust:
确认安装完成:
初始化 helloworld 项目:
目录结构如下:
在 src/main.rs 中编写代码:
运行项目:
版权声明: 本文为 InfoQ 作者【码生笔谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/d053a84ed506935b9c200a378】。文章转载请联系作者。
评论