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

学习资料

  1. Rust 社区 Wiki
  2. Rust 程序设计语言
  3. Rust 编程语言(推荐)
  4. Cargo 教程