Rust编程语言入门教程(第一部分)

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

5-2.png

7. trait别名(type)

8. 标准库常见trait

Display和Debug,控制打印格式,分别是{}和{:}ToString。 Display 也实现了这一特性。 PartialOrd/Ord/PartialEq/Eq:只有实现了Ord(Total order)才可以称为sort排序。 Size: 本身不能实现,而是由编译器导出。 Default:专门用于实例化简单实例化,无需参数和错误处理。

第6章 数组和字符串

1. 数组

数组是一个容器,必须有类型和大小。切片,使用Rust中的借位操作生成数组切片(Slice),它是一个胖指针(第一个元素+大小)Range:使用. 生成左闭右开范围,=生成左闭右开的范围。结合它,可以更灵活地对数组进行切片(通过限制Range来控制初始位置和大小)。从胖指针的定义可以看出,Rust 的Slice 与Go 的不同。 Rust中的index[]操作是在Bounds检查中进行的,所以速度会低于C/C++。因此,不建议使用for+[]模式操作数组,而是使用for in iterator方法。6-1.png6-2.png

2. 字符串

str是Rust中的内置类型,借用自海峡Rust中的字符串默认使用utf-8编码,内置的Char类型长度为4个字节。因此,字符数不能直接通过s[n]获取。需要这个:s.chars().nth(n) str类型也是一个胖指针,包括首字指针和长度。 String在堆上动态申请一块内存,因此可以编辑。 String 类型可以通过Deref ‘Dereference’ 自动转换为str 类型

第7章 数组和字符串

1. 简介

‘Patern Destruct’ 是一个重要且实用的设计(Es6 有),可以轻松拆解一个复杂的结构

2. match

匹配的是与switch 类似,对于Value 来说是分支的,但Rust 需要对所有可能性进行“完整”检查,以避免遗漏处理。可以用_,来替换一些不需要处理的值。

7-1. pngmatch 加上if 形成“匹配守卫”(高级开关),这可能会导致编译器生成“完整且缺失”的误报。

使用@进行符号判断

使用ref 关键字将引用绑定到匹配的对象。

3. if-let和while-let

它们是Rust 语法糖,表示只需要匹配某些模式,而不是“完全缺失”

4. 函数参数与闭包做模式解构

默认情况下,传递参数时支持模式解构

第8章 深入类型系统

1. 代数类型系统

代数数据类型(Algebraic data) type)类似信息论,计算每个类型携带的信息(位)——基数

2. Never Type

,例如: enum Never {},所以不能只有类型,不能构造变量。基数为0;占用内存为0;无法处理此类代码的执行;返回该类型代码,无法返回;可转换为任意类型。在Rust 中使用时,使用"!代表

3. Option类型

选项解决了空指针问题

8-2.pngOption有很多方便的成员函数,比如map、unwrap、expect等(推荐阅读API)

Option开销也很小(使用Option类型包裹指针和C/C++指针完全没有区别)

如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

北朽暖栀

刚开始学编程,一直在想试试Rust,不知道从哪开始入门比较好。

    有20位网友表示赞同!

心已麻木i

这个标题很有吸引力啊,希望能把复杂的Rust知识讲得简单易懂!

    有20位网友表示赞同!

将妓就计

听说Rust很安全,学习它是不是能让我写出更可靠的代码呢?

    有15位网友表示赞同!

雪花ミ飞舞

我一直对Go和Rust比较感兴趣,希望能看看区别和联系。

    有16位网友表示赞同!

軨倾词

期待看到这个系列文章,也许可以帮我理清我对Rust的思路!

    有5位网友表示赞同!

话扎心

以前也看过一些Rust的文章,感觉讲得有点抽象,希望这篇能更切实可行。

    有19位网友表示赞同!

醉婉笙歌

我的朋友一直在推荐Rust给我学习,想看下能不能理解它的魅力。

    有8位网友表示赞同!

夏日倾情

Rust的内存管理机制一直很困惑我,这篇文章或许能帮我解惑!

    有7位网友表示赞同!

陌上花

从零开始学习 Rust 太让人畏惧了,希望这篇文章能一步步带我入门!

    有17位网友表示赞同!

逃避

终于看到一篇针对初学者讲解Rust的文章,真是太好了!

    有17位网友表示赞同!

白恍

我已经知道了Rust的一些基本概念,但想深入了解它的原理和应用场景。

    有18位网友表示赞同!

灵魂摆渡人

学习编程语言最重要的就是基础,期待这篇文章能让我打下坚实的基础!

    有17位网友表示赞同!

一生只盼一人

很想知道 Rust 如何在实际项目中运用,希望能看到一些例子或者案例分析。

    有12位网友表示赞同!

娇眉恨

之前对Rust的印象不够深刻,希望这篇系列文章能改变我对它的看法!

    有9位网友表示赞同!

猫腻

学习编程需要不断积累知识和经验,这篇文章或许能让我开拓新的视野!

    有9位网友表示赞同!

雨后彩虹

期待作者能用通俗易懂的语言讲解 Rust 的复杂机制!

    有5位网友表示赞同!

情深至命

我希望这个系列文章能让我也成为一个Rust高手!

    有13位网友表示赞同!

青袂婉约

这个标题很有吸引力,我已经迫不及待想开始学习了!

    有11位网友表示赞同!

幸好是你

相信深度浅出的学习方式一定能让我快速理解Rust!

    有13位网友表示赞同!

【Rust编程语言入门教程(第一部分)】相关文章:

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

2.米颠拜石

3.王羲之临池学书

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

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

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

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

8.郑板桥轶事十则

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

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

上一篇:轻松聊天赚钱的社交应用盘点:探索高收益聊天平台 下一篇:《龙猫》电影国语版4K蓝光百度网盘资源下载,附2024年宫崎骏经典作品高清中文字幕汇总