跳至主要內容

Rust入门

LincZero大约 3 分钟

Rust入门

参考:

为什么要使用 Rust 语言?

Rust 是一种快速、高并发、安全且具有授权性的编程语言,最初由 Graydon Hoare 于 2006 年创造和发布。现在它是一种开源语言,主要由 Mozilla 团队和许多开源社区成员共同维护和开发。它的目标是 C 和 C++ 占主导地位的系统编程领域。

  • Rust 的目标
    • Rust 语言瞄准的是工业系统的霸者 - C++ 语言。
  • Rust 的优势
    • Rust 是一门编译语言,因此它的效率可以媲美 C 或 C++ 语言。
    • 由于没有 GC (垃圾回收机制),所以是安全度极高的语言。
  • Rust 可以做什么?
    1. 可以使用 Rust 编写操作系统游戏引擎和许多性能关键型应用程序。
    2. 可以使用它构建高性能的 Web 应用程序、网络服务,类型安全的数据库对象关系映射(Object Relational Mapping,ORM)库,还可以将程序编译成 WebAssembly 在 Web 浏览器上运行。
    3. Rust 还在为嵌入式平台构建安全性优先的实时应用程序方面获得了相当大的关注。 例如 Arm 基于 Cortex-M 的微控制器,目前该领域主要由 C 语言主导。Rust 因其广泛的适用性在多个领域都表现良好。

Rust 环境搭建

Mac

在 Mac 环境下,利用 brew 包管理,十分方便

  1. brew upgrade

  2. brew install rustup-init

  3. 进入/opt/homebrew/Cellar/rustup-init/1.24.3/bin

  4. 运行 rustup-init

    1) Proceed with installation (default) //默认安装
    2) Customize installation //自定义安装
    3) Cancel installation	//取消安装
    
    我选的是第 1 个。
    
  5. 屏幕出现成功字样 Rust is installed now. Great!

  6. 最后执行这句,让环境变量生效 source $HOME/.cargo/env

  7. 再打开终端

    rustc -V
    屏幕输出  rustc 1.59.0
    

    出现上面的提示,证明你的 Rust 环境安装好了。

软件

可以使用趁手的编辑(jetbrains 系列可以安装 rust 插件,或者是 vscode 的 rust 插件都可以)

其他补充:

配置vscode进行rust debug,在.vscode/launch.json中复制如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
		{
			"type": "lldb",
          	"request": "launch",
          	"name": "Custom launch",
          	"program": "${workspaceRoot}/bool07/target/debug/bool07",
          	"cwd": "${workspaceRoot}",
        },
    ]
}

Hello_rust

先创建一个目录 hello_rust,并创建 rust 源代码文件,hello.rs

源码:

// @file hello.rs
fn main() { 				// fn: Rust 语言使用 fn 关键字定义函数
    						// main(): 该函数是一个预定义的主函数,充当 Rust 程序的入口点,每个语言都会有自己的 main() 函数
    println!("Hello Rust!")	// println!(): 是 Rust 语言中的一个 预定义的宏。它用于将传递给它的参数输出到 标准输出。
    						// 注:Rust 语言中的 宏 都会以 感叹号 ( ! ) 结尾。以后看到以 ! 结尾的类似函数调用,都是 宏调用。
    						// Rust 提供了一个功能非常强大的 宏 体系,通过这些 宏,我们可以很方便的进行 元编程。
    						// Rust 中的 宏 有点类似于 函数。可以将 宏 理解为 函数的加强版。
}

编译:

rustc hello.rs 	# 生成hello为名字的二进制的可执行文件

运行:

./hello			# 然后会打印:Hello Rust!

也可以用包管理来创建工程

cargo new folderName

会自动生成文件夹与以下结构:

  • folderName/
    • src/
      • main.rs
    • Cargo.toml, 一些工程配置