新贵 Rust(1)

栏目: 编程语言 · Rust · 发布时间: 5年前

内容简介:首先要明确的一点就是 rust 是系统级别的底层开发语言。与 c++ 处于同一层面。rust 有可能在将来逐步取代 C++ 在嵌入式和游戏领域老大的地位。而且 rust 在区块链技术领域也有不熟的表现Mozilla将 Firefox 的命运与Rust语言捆绑起来。Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,最新版本为1.15。随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。

首先要明确的一点就是 rust 是系统级别的底层开发语言。与 c++ 处于同一层面。rust 有可能在将来逐步取代 C++ 在嵌入式和游戏领域老大的地位。而且 rust 在区块链技术领域也有不熟的表现

Rust 是一种注重高效、安全、并行的系统程序语言。

Mozilla将 Firefox 的命运与Rust语言捆绑起来。Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,最新版本为1.15。随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。

新贵 Rust(1)

Rust VS golang

Cargo.toml 文件为包管理工具,类似于 package.json

新贵 Rust(1)

golang作为服务器语言仍然是相当不错的选择,不过现在已经没有多少人还把它看成是 系统语言 了。

有关 rust 的优点以后通过代码一一为大家介绍

首先安装 rust 很容易,windows 环境下在官网下载 window 的安装版本,一步一步安装就可以。

新贵 Rust(1)

创建项目,在终端输入

cargo new app_demo --bin

来创建一个 binary 应用

如果 cd app_demo 项目下运行 cargo run 即可,也可以运行 cargo run src/main.rs

项目结构如下图

新贵 Rust(1)

Cargo.toml 文件为包管理工具,类似于 package.json

打开 Cargo.toml 文件查看其中信息,[dependencies]用于管理依赖,其他的就不用解释了吧。

新贵 Rust(1)

打开 main.rs 文件,其中 main 为入口函数,这个大家应该很清楚,然后输出“hello world”,我们已经迈出了第一步。很轻松吧

新贵 Rust(1)

在 rust let 定义变量为 immutable 类型

我们需要添加 mut 来将类型修改为 mutable 类型

新贵 Rust(1)

整型有两种形式:有符号和无符号。为了理解他们的不同,我们先考虑一个4位的数,4为数能存储-8到+7之间的值。有符号数用补码表示。一个无符号数,因为它不需要存储负号,能存储从0到+19之间的数。

固定大小类型在他们的表示中有特定的为主。有效的为大小为8,16,32和64。所以来说u32是一个无符号32位整型,i64是一个有符号64位整数。

Rust也提供了依赖底层机器的指针大小的类型。这些类型使用‘size’作为分类,并且有有符号和无符号之分。有两种类型:isize和usize。

新贵 Rust(1)
新贵 Rust(1)

简单四则运算

新贵 Rust(1)

字符类型

新贵 Rust(1)

tuple 类型的数据,tuple 可以是不同类型数据的集合

新贵 Rust(1)

数组是这个模样,数组中元素类型必须统一。将数组分配为栈内存中。

新贵 Rust(1)

定义一个复合的 tuple 类型变量,f 变量中包含 t 变量

新贵 Rust(1)
新贵 Rust(1)
新贵 Rust(1)
新贵 Rust(1)

如何通过占位符{}来输出tuple类型的数据

新贵 Rust(1)

我们需要将{} 替换为调试用的 {:?} 占位符

新贵 Rust(1)
新贵 Rust(1)

也可以使用{:#?}来输出带结构变量,便于观察变量结构

新贵 Rust(1)
新贵 Rust(1)
新贵 Rust(1)
新贵 Rust(1)

我们这里使用到标准库 std::mem ,这里大家有些陌生,以后为大家详细介绍,我们使用 mem 的 size_of_val 来计算数组所占内存的大小。

新贵 Rust(1)

&表示引用类型变量,熟悉 c++ 一定不会对这个取值符陌生吧

新贵 Rust(1)
新贵 Rust(1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

MySQL技术内幕

MySQL技术内幕

姜承尧 / 机械工业出版社 / 2013-5 / 79.00元

《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2......一起来看看 《MySQL技术内幕》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具