今天看啥  ›  专栏  ›  zidea

新贵 Rust(1)

zidea  · 简书  ·  · 2019-01-10 12:53

文章预览

首先要明确的一点就是 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++ 一定不会对这个取值符陌生吧

………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览