目录
- Rust---有关介绍
- 变量的操作
- [Rust 数值库:num](#Rust 数值库:num)
- 某些基础数据类型
- 发散函数
- [表达式(!= 语句)](#表达式(!= 语句))
Rust---有关介绍
- 得益于各种零开销抽象、深入到底层的优化潜力、优质的标准库和第三方库实现,Rust 具备非常优秀的性能,和 C、C++ 是 一个级别。
- 要学好 Rust,需要深入理解内存、堆栈、引用、变量作用域等这些其它高级语言往往不会深入接触的内容。
cargo
提供了一系列的工具,从项目的建立、构建到测试、运行直至部署,为Rust
项目的管理提供尽可能完整的手段。同时,与Rust
语言及其编译器rustc
紧密结合。- 检查是否成功安装
Rust
:
变量的操作
- 变量绑定、变量解构、变量遮蔽。
Rust 数值库:num
Rust
的标准库相比其它语言,准入门槛较高,因此有理数和复数并未包含在标准库中。
某些基础数据类型
序列(Range)
- 序列只允许用于数字或字符类型,原因是:它们可以连续,同时编译器在编译期可以检查该序列是否为空,字符和数字值是
Rust
中仅有的可以用于判断是否为空的类型。 Rust
提供了一个非常简洁的方式,用来生成连续的数值,例如1..5
,生成从 1 到 4 的连续数字,不包含 5 ;1..=5
,生成从 1 到 5 的连续数字,包含 5。
字符类型
Rust
的字符不仅仅是ASCII
,所有的Unicode
值都可以作为Rust
字符,包括单个的中文、日文、韩文、emoji
表情符号等等,都是合法的字符类型。- 和一些语言不同,
Rust
的字符只能用' '
来表示," "
是留给字符串的。
单元类型
- 单元类型
()
,是一个零长度的元组。它没啥作用,但是可以用来表达一个函数没有返回值。 main
函数就返回这个单元类型()
,常见的println!()
的返回值也是单元类型()
。- 可以用 () 作为
map
的值,表示我们不关注具体的值,只关注key
。 这种用法和Go
语言的struct{}
类似,可以作为一个值用来占位,但是完全不占用任何内存。
发散函数
- 没有返回值的函数在
Rust
中是有单独的定义的:发散函数(diverge function
),顾名思义,无法收敛的函数。 - 当用
!
作函数返回类型的时候,表示该函数永不返回(diverge function
),特别的,这种语法往往用做会导致程序崩溃的函数。
rust
fn dead_end() -> ! {
panic!("你已经到了穷途末路,崩溃吧!");
}
表达式(!= 语句)
- 表达式如果不返回任何值,会隐式地返回一个
()
。 - 表达式不能包含分号,一旦在表达式后加上分号,它就会变成一条语句,再也不会返回一个值。
- 表达式会进行求值,然后返回一个值。能返回值,它就是表达式。