新贵 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)

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

查看所有标签

猜你喜欢:

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

AI·未来

AI·未来

李开复 / 浙江人民出版社 / 2018-9-1 / 62

迎来“深度学习”这项重大技术突破后,人工智能已经从发明的年代步入了实干的年代。 现在已是未来,我们所处的时代,已经与过去完全不同。面对已经来临的、机遇与挑战并存的人工智能时代,我们必须了解人工智能,跟上人工智能发展的脚步,这样才能不被时代淘汰。 全球目前人工智能发展的情况是怎样的? 全球的人工智能巨头企业有哪几家,现在它们有什么贡献?未来它们又将如何改变世界? 人工智能已经......一起来看看 《AI·未来》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

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

HSV CMYK互换工具