Rust 程序设计语言的本质在于 赋能empowerment):无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信

Rust 最重要的目标是消除数十年来程序员不得不做的权衡:安全 生产力,速度 人机交互的顺畅度(ergonomics)

rust的源文件的扩展名为 .rs ,对rs文件可用编译器rustc编译生成二进制代码。

Rust 是一种 预编译静态类型

Cargo 是 Rust 的构建系统和包管理器,它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。(我们把代码所需要的库叫做 依赖dependencies))。

Cargo:

cargo new project
cargo build
cargo run
cargo check
cargo build --release
cargo update
cargo doc --open //构建所有本地依赖提供的文档

let定义并绑定变量

use使用外部crate

::new 那一行的 :: 语法表明 newString 类型的一个 关联函数associated function)。关联函数是针对类型实现的,在这个例子中是 String,而不是 String 的某个特定实例。一些语言中把它称为 静态方法static method)。

Result 类型是 枚举enumerations,通常也写作 enums。枚举类型持有固定集合的值,这些值被称为枚举的 成员variants)。

Result 的成员是 OkErrOk 成员表示操作成功,内部包含成功时产生的值。Err 成员则意味着操作失败,并且包含失败的前因后果。

Cargo 理解语义化版本(Semantic Versioning)(有时也称为 SemVer),这是一种定义版本号的标准。0.5.5 事实上是 ^0.5.5 的简写,它表示 “任何与 0.5.5 版本公有 API 相兼容的版本”。

一个 match 表达式由 分支(arms) 构成。一个分支包含一个 模式pattern)和表达式开头的值与分支模式相匹配时应该执行的代码。

Rust 允许用一个新值来 隐藏shadowguess 之前的值。

使用大型数据结构时,适当地使用可变变量,可能比复制和返回新分配的实例更快。对于较小的数据结构,总是创建新实例,采用更偏向函数式的编程风格,可能会使代码更易理解,为可读性而牺牲性能或许是值得的。Err(_) 模式:_ 是一个通配符值,本例中用来匹配所有 Err 值,不管其中有何种信息。