Rust 语言了解一下
我是通过 Deno 项目了解到 Rust 线程安全和内存管理的特性,抽空粗略地整理下 Rust 相关知识。
背景
Rust 是什么?
- Rust 是一门系统级编程语言,开始由 Graydon Hoare 开发。后来 Mozilla 实验室接管了此项目。
- Rust 是一种线程安全的支持并发的实用型的编程语言,支持函数式编程与命令式编程。
- Rust 内存由系统统一分配管理,没有类似 malloc 这样直接的内存管理模式。
为什么用 Rust?
和 Java/Python/Php/C# 这类语言相比,Rust 属于系统级编程语言,相对比较底层,和 C++ 类似,执行速度快,而且解决了 C++ 编写内存安全以及多线程代码困难等问题。
发行策略
普通版本一般在 6 周左右一版,大版本周期大约 2 ~ 3 年,向下兼容,当前版本为 Rust 2018,上个版本是 Rust 2015。
安装
Rust 有两种安装方式
$ curl https://sh.rustup.rs -sSf | sh
# or
$ brew install rust
查看版本
$ rustc -V
$ cargo -V
Cargo 简介
Cargo 是 Rust 的包管理工具,正如 Npm 之与 NodeJs,Maven 之于 Java,Pypi 之于 Python,RubyGem 之于 Ruby。Cargo 做了下面这四件事:
- 引入两个包含各种项目信息的元数据文件。
- 获取并构建项目的依赖项.
- 正确使用参数,以调用 rustc 或其他构建工具,构建你的项目。
- 介绍更容易使用 Rust 项目的约定 (规范 / 风格)。
安装 VSCode 插件
编辑 .vscode/settings
设置自动格式化
{
"editor.formatOnSave": true,
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust",
}
}
Hello World
新建工程
$ cargo new rust-test && cd rust-test
编辑 src/main.rs
fn main() {
println!("Hello World!")
}
编译执行
$ rustc src/main.rs && ./main
# or
$ cargo run