首先要明确的一点就是 rust 是系统级别的底层开发语言。与 c++ 处于同一层面。rust 有可能在将来逐步取代 C++ 在嵌入式和游戏领域老大的地位。而且 rust 在区块链技术领域也有不熟的表现
Rust 是一种注重高效、安全、并行的系统程序语言。
Mozilla将 Firefox 的命运与Rust语言捆绑起来。Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,最新版本为1.15。随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。
Rust VS golang
Cargo.toml 文件为包管理工具,类似于 package.json
golang作为服务器语言仍然是相当不错的选择,不过现在已经没有多少人还把它看成是系统语言了。
有关 rust 的优点以后通过代码一一为大家介绍
首先安装 rust 很容易,windows 环境下在官网下载 window 的安装版本,一步一步安装就可以。
创建项目,在终端输入
cargo new app_demo --bin
来创建一个 binary 应用
如果 cd app_demo 项目下运行 cargo run 即可,也可以运行 cargo run src/main.rs
项目结构如下图
Cargo.toml 文件为包管理工具,类似于 package.json
打开 Cargo.toml 文件查看其中信息,[dependencies]用于管理依赖,其他的就不用解释了吧。
打开 main.rs 文件,其中 main 为入口函数,这个大家应该很清楚,然后输出“hello world”,我们已经迈出了第一步。很轻松吧
在 rust let 定义变量为 immutable 类型
我们需要添加 mut 来将类型修改为 mutable 类型
整型有两种形式:有符号和无符号。为了理解他们的不同,我们先考虑一个4位的数,4为数能存储-8到+7之间的值。有符号数用补码表示。一个无符号数,因为它不需要存储负号,能存储从0到+19之间的数。
固定大小类型在他们的表示中有特定的为主。有效的为大小为8,16,32和64。所以来说u32是一个无符号32位整型,i64是一个有符号64位整数。
Rust也提供了依赖底层机器的指针大小的类型。这些类型使用‘size’作为分类,并且有有符号和无符号之分。有两种类型:isize和usize。
简单四则运算
字符类型
tuple 类型的数据,tuple 可以是不同类型数据的集合
数组是这个模样,数组中元素类型必须统一。将数组分配为栈内存中。
定义一个复合的 tuple 类型变量,f 变量中包含 t 变量
如何通过占位符{}来输出tuple类型的数据
我们需要将{} 替换为调试用的 {:?} 占位符
也可以使用{:#?}来输出带结构变量,便于观察变量结构
我们这里使用到标准库 std::mem ,这里大家有些陌生,以后为大家详细介绍,我们使用 mem 的 size_of_val 来计算数组所占内存的大小。
&表示引用类型变量,熟悉 c++ 一定不会对这个取值符陌生吧
有疑问加站长微信联系(非本文作者)