深度解析:Rust编程语言入门指南(第一部分)

更新:11-15 民间故事 我要投稿 纠错 投诉

写在前面

显然我选错了一本入门书。 “一旦你遇到它,就与它和平相处”。虽然有点难,但我还是完整地读完了。我收获了很多.

第一部分-1

第1章 与君初相见

1-1.png 专注于高效、安全的开发语言。

1. 版本和发布策略

RFC-Nightly-Beta-稳定版

官方网站: rust-lang.org

官方存储库: crates.io

Playground:https://play.rust-lang.org/

std:https://doc.rust-lang.org/std/index.html

2. 安装

只需单击官方网站上的安装链接即可。 Windows需要VC++工具链,需要安装Visual Studio开发工具。这和nodeJs是一样的。

工具功能rustupRust 版本管理rustc 编译器货物包管理

3. hello world

4. Prelude

Rust 默认会自动引入对标准库的依赖。使用std:prelude:*

5. Format格式

是的!是Rust的宏调用,宏可以实现更好的错误检查。

第2章 变量和类型

1. 变量声明

let variable: i32=100;1.1 默认变量声明是只读的。如果加上mut,它就变成了可写变量。其实就是模式解构。这在C# 和ES6 中都有,而且非常熟悉。

1.2 Rust允许同一代码块声明同样名字的变量,前面会被遮挡。

1.3 Rust 支持类型推导。这种推导依赖于编译器,而不是动态类型系统。也就是说,如果编译器无法通过上下文感知到具体类型,就会报错。因此,函数签名不允许推导,需要专门编写。出去。

使用type来声明别名,与Go基本相同。由于支持泛型,Rust 更加灵活。

1.4 static关键字声明静态变量:

静态GLOBAL: i32=0;它的生命周期是整个程序,即全局变量。具体要求:

一个。必须立即初始化

b.它的初始化值必须是一个可以在编译时确定的常量。不支持表达式和函数调用(这需要在运行时知道)

c.带有mut的静态变量需要添加unsafe关键字。

d.复杂的静态变量通常使用惰性模式,并在第一次使用时进行初始化。 -lazy_static 库

1.5 const常量

2. 基本数据类型

bool、char(unicode)、整数(8-128bit、指针、溢出)、浮点数(IEEE 754-2008)、指针、类型转换

调试模式进行整数溢出检查,溢出会引起panic;而release不检查,高位自动丢弃。

2-1.png2-2.png2-3.png

3. 复合数据类型

3.1 元组(与python几乎相同)

有一个空的元组单元(单元类型),占用0空间

3.2 结构体struct(和Go的几乎一样)

存在空结构;expr 扩展表达式(仅用于初始化);

3.3 元组结构tuple struct

成员没有名称的结构与结构的不同之处在于定义的类型后跟“(”

2-4.png3.4 枚举enum(多类型‘或’关系)

定义语法与struct类似。

枚举通常与模式匹配结合使用。

2-5.png3.5 类型递归定义

类型的递归定义可以通过装箱Box来实现(实际上只是记录指针)

第3章 语句和表达式

1. 语句

2. 表达式

2.1 运算表达式

+、-、*、/、%、比较(左右必须是同一类型)、位运算、逻辑运算

2.2.赋值表达式

Rust不允许连续赋值,但支持组合赋值+=,*=

3.3 语句块表达式{}

和函数一样,用最后未完成的数据来返回。如果";"添加,则其类型为()。

3. if-else

语句必须用{} 括起来,而不是省略c 或java 等条件中的代码。

条件表达式不需要用() 括起来。

没有:三元运算符(可读性好?)

4. 循环

4.1loop:通过break跳出(相当于do-while的变体)

4.2 while: 先设置条件再循环

4.3 for:只有for-in(循环内容需要在语句外设置)

第4章 函数

1. 简介

fn 函数名称(参数1: 类型1,参数2: 类型2,) - 返回类型

只有参数和返回值相同的函数才可以用赋值代替,并通过通用的fn类型进行转换。

2. 发散函数

返回类型为! 的函数是一个发散函数,代表函数执行错误(panic)。它可以转换为任何类型,从而允许任何类型的函数抛出异常并处理它

3. main函数

Rust有特殊的API用于参数传递和返回类型处理,因此main函数必须没有参数并且没有返回。

std:env:args() //输入参数

std:env:var() //单个环境变量,返回Option枚举

std:env:vars() //所有环境变量列表

OK,本文到此结束,希望对大家有所帮助。

用户评论

_心抽搐到严重畸形っ°

终于找到一个能让我轻松入门Rust的教程了!

    有16位网友表示赞同!

服从

我一直对Rust很感兴趣,但总觉得它太难学懂。希望这篇文章能帮我解决这个难题。

    有11位网友表示赞同!

殃樾晨

"深入浅出"听起来很棒!我期待能从零开始了解Rust的基础知识。

    有17位网友表示赞同!

你很爱吃凉皮

第一次学习Rust,感觉文档比较复杂,这种讲解方式可能会更容易理解吧。

    有16位网友表示赞同!

青瓷清茶倾城歌

第一部分?这意味着会有后续文章继续讲解更高级的Rust内容吗?

    有19位网友表示赞同!

花海

准备好好学起来,争取把Rust这项技能掌握!

    有18位网友表示赞同!

念旧情i

我已经看到一篇介绍Rust的文章,感觉有点太技术性了,希望能像这篇文章一样轻松易懂。

    有15位网友表示赞同!

暮光薄凉

Rust越来越火了,看来学习它很有前途啊!

    有11位网友表示赞同!

清原

我有一些简单的编程基础,相信也能通过这篇文章快速入门Rust。

    有10位网友表示赞同!

良人凉人

分享一下你学到的Rust知识吧!

    有17位网友表示赞同!

别在我面前犯贱

终于有机会深入了解这个强大的语言。

    有13位网友表示赞同!

命该如此

期待学习Rust的宝贵经验和技巧!

    有8位网友表示赞同!

各自安好ぃ

我准备在项目开发中试试Rust,希望这篇文章能帮我更快上手。

    有14位网友表示赞同!

在哪跌倒こ就在哪躺下

喜欢用 Rust 写代码的人多吗?

    有7位网友表示赞同!

陌潇潇

感觉学习一下 Rust 就等于掌握了一门非常受欢迎的技能。

    有15位网友表示赞同!

铁树不曾开花

Rust 的发展前景非常不错,我希望能把它学好提升自己竞争力。

    有8位网友表示赞同!

雁過藍天

希望这篇文章能提供一些Rust编程实战的案例,更直观地帮助我理解。

    有16位网友表示赞同!

慑人的傲气

学习Rust可以让我更好地了解编程背后的原理。

    有20位网友表示赞同!

墨城烟柳

期待阅读作者对Rust语言的特点和优缺点的分析!

    有16位网友表示赞同!

疯人疯语疯人愿

准备开一门关于Rust的课程了?

    有15位网友表示赞同!

【深度解析:Rust编程语言入门指南(第一部分)】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:深度解析:丰田全新旗舰车型《画完这个再去死》第1册首发评测 下一篇:实验5:编写与调试多段汇编语言程序