没有合适的资源?快使用搜索试试~ 我知道了~
首页Rust编程语言.pdf
资源详情
资源评论
资源推荐
Rust编程语言编程语言
本书同步于官方本书同步于官方 The Rust Programming Language 仓库仓库地址地址 !! 本书初始基于trpl-zh-cn,感谢作者.现将与Rust官方文档同步更新.
Why Rust
Rust 是一种安全、并发、实用的编程语言,有着惊人的运行速度,能够防止段错误,并保证线程安全,使每个人都能够构建
可靠,高效的软件
性能性能
Rust非常快速且节省内存:没有运行时或垃圾收集器,它可以为性能关键型服务提供动力,在嵌入式设备上运行,并且可以轻松地与其他语言集成
可靠性可靠性
Rust的丰富类型系统和所有权模型保证了内存安全性和线程安全性 - 使您能够在编译时消除许多类错误
生产率生产率
Rust拥有出色的文档,友好的编译器和有用的错误消息,以及一流的工具 - 集成的包管理器和构建工具,具有自动完成和类型检查的智能多编辑器支持,自
动格式化程序等
使用使用 Rust
命令行命令行
使用Rust强大的生态系统快速启动CLI工具,Rust可帮助您放心地维护应用程序并轻松分发
WebAssembly
使用Rust可以一次为一个模块增加JavaScript,发布到npm,与WebPack捆绑,然后你就可以接着进行开发了。
网络网络
可预测的表现。微小的资源占用。坚如磐石的可靠性。Rust非常适合网络服务
嵌入式嵌入式
针对资源匮乏的设备?需要低级控制而不放弃高级便利性?Rust让你满意
游戏游戏
高性能渲染,实时光线追踪、SIMD
前言前言
原文跟踪foreword.md Commit: 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
虽然不是那么明显,但 Rust 程序设计语言的本质在于 赋能赋能(empowerment):无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更
远,写出自信。
比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,对能花费时间学习
去规避其臭名昭著的陷阱的人是合适的。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。
Rust 破除了这些障碍,其消除了旧的陷阱并提供了伴你一路同行的友好、精良的工具。想要 “深入” 底层控制的程序员可以使用 Rust,无需冒着常见的崩溃
或安全漏洞的风险,也无需学习时常改变的工具链的最新知识。其语言本身更是被设计为自然而然的引导你编写出在运行速度和内存使用上都十分高效的可
靠代码。
已经在从事编写底层代码的程序员可以使用 Rust 来提升抱负。例如,在 Rust 中引入并行是相对低风险的操作:编译器会为你捕获经典的错误。同时你可以
自信的采取更为积极的优化,而不会意外引入崩溃或漏洞。
但 Rust 并不局限于底层系统编程。其表现力和工效足以令人愉悦的编写出 CLI 应用,Web 服务,和很多其他类型的代码 —— 在本书中你会看到两个简单示
例。使用 Rust 能将你在一个领域中学习的技能延伸到另一个领域;你可以学习 Rust 来编写 web 应用,接着将同样的技能应用到你的 Raspberry Pi(树莓
派)上。
本书全面介绍了 Rust 为用户赋予的能力。其内容平易近人,致力于帮助你提升 Rust 的知识,并且提升你作为程序员整体的理解与自信。那么让我们准备深
入学习 Rust 吧(打开新世界的大门 :)) —— 欢迎加入 Rust 社区!
— Nicholas Matsakis 和 Aaron Turon
介绍介绍
原文跟踪ch00-00-introduction.md Commit: 0aa307c7d79d2cbf83cdf5d47780b2904e9cb03f
欢迎阅读Rust编程语言,这是一本关于Rust的入门书。Rust编程语言可帮助您编写更快,更可靠的软件。高级人体工程学和低级控制通常与编程语言设计不
一致; Rust挑战冲突。通过平衡强大的技术能力和出色的开发人员体验,Rust为您提供了控制低级细节(例如内存使用)的选项,而无需传统上与此类控制
相关的所有麻烦。
Rust为谁设计为谁设计
出于各种原因,Rust对许多人来说都是理想的选择。让我们看看一些最重要的群体。
开发人员团队开发人员团队
Rust被证明是一个富有成效的工具,用于在具有不同级别的系统编程知识的大型开发团队之间进行协作。低级代码容易出现各种微妙的错误,大多数其他语
言只能通过经验丰富的开发人员的大量测试和仔细的代码审查来捕获。在Rust中,编译器通过拒绝使用这些难以捉摸的错误(包括并发错误)编译代码来扮
演守门员的角色。通过与编译器一起工作,团队可以将时间花在关注程序的逻辑上,而不是追逐错误。
Rust 也为系统编程世界带来了现代化的开发工具:
Cargo是一个包含的依赖项管理器和构建工具,它可以在Rust生态系统中轻松添加,编译和管理依赖项。
Rustfmt确保开发人员之间的编码风格一致。
Rust语言服务器支持集成开发环境(IDE)集成,以实现代码完成和内联错误消息。
通过在Rust生态系统中使用这些工具和其他工具,开发人员在编写系统级代码时可以高效工作。
学生学生
Rust适用于学生和有兴趣学习系统概念的人。使用Rust,许多人已经了解了操作系统开发等主题。社区非常热情和乐于回答学生的问题。通过本书的努
力,Rust团队希望让更多人能够访问系统概念,特别是那些刚接触编程的人。
公司公司
数以百计的公司,无论规模大小,正将 Rust 用于生产环境中的多种任务。这些任务包括命令行工具、web 服务、DevOps 工具、嵌入式设备、音视频分析
与转码、数字货币(cryptocurrencies)、生物信息学(bioinformatics)、搜索引擎、物联网(internet of things, IOT)程序、机器学习,甚至还包括
Firefox 浏览器的大部分内容。
开源开发者开源开发者
Rust 适用于希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们期望你为 Rust 语言做贡献。
重视速度和稳定性的开发者重视速度和稳定性的开发者
Rust 适用于追求编程语言的速度与稳定性的开发者。所谓速度,是指你用 Rust 开发出的程序运行速度,以及 Rust 提供的程序开发速度。Rust 的编译器检
Rust 适用于追求编程语言的速度与稳定性的开发者。所谓速度,是指你用 Rust 开发出的程序运行速度,以及 Rust 提供的程序开发速度。Rust 的编译器检
查确保了增加功能和重构代码时的稳定性。这与缺少这些检查的语言形成鲜明对比,开发者通常害怕修改那些脆弱的遗留代码。通过力求零开销抽象(zero-
cost abstractions),高层级的特性被编译为与手写一样快的底层代码,Rust 致力于使安全的代码也同样快速。
Rust 语言也希望能支持很多其他用户,这里提及的只是最大的利益相关者。总的来讲,Rust 最重要的目标是消除数十年来程序员不得不做的权衡:安全 与与
生产力、速度 与与 工程学。请尝试 Rust,看看这个选择是否适合你。
本书适用于谁本书适用于谁
本书假设你已经使用其他编程语言编写过代码,但并不假设你使用的是何种语言。我们尝试使这些材料能广泛的适用于来自很多不同编程背景的开发者。我
们不会花费很多时间讨论编程 是是 什么或者如何理解它。如果编程对于你来说是完全陌生的,你最好先阅读专门介绍编程的书籍。
如何使用本书如何使用本书
一般来说,本书假设您从前到后依次阅读它。后面的章节以前面章节中的概念为基础,前面的章节可能没有深入研究某个主题的细节; 我们通常会在后面的章
节中重新讨论该主题。
您将在本书中找到两种章节:概念章节和项目章节。在概念章节中,您将了解Rust的一个方面。在项目章节中,我们将一起构建小程序,应用到目前为止所
学到的知识。第2章,第12章和第20章是项目章节; 其余的是概念章节。
第1章介绍如何安装Rust,如何编写Hello,world!程序,以及如何使用Cargo,Rust的包管理器和构建工具。第2章是Rust语言的实用介绍。这里我们将介
绍高级概念,后面的章节将提供更多细节。如果你想立刻亲自动手,第2章就是这个地方。首先,您甚至可能希望跳过第3章,其中涵盖与其他编程语言类似
的Rust功能,并直接进入第4章以了解Rust的所有权系统。但是,如果你是一个特别细致的学习者,在进入下一个之前更喜欢学习每一个细节,你可能想跳
过第2章并直接进入第3章,当你想要应用您所学的信息到项目时,请返回第2章。
第5章讨论了结构和方法,第6章讨论了枚举,match 表达式和if let控制流结构。您将使用结构和枚举在Rust中生成自定义类型。
在第7章中,您将了解Rust的模块系统以及有关组织代码及其公共应用程序编程接口(API)的隐私规则。第8章讨论了标准库提供的一些常见集合数据结
构,例如向量,字符串和哈希映射。第9章探讨了Rust的错误处理理念和技巧。
第10章深入研究泛型,特征和生命周期,它们使您能够定义适用于多种类型的代码。第11章是关于测试的,即使使用Rust的安全保证也是必要的,以确保您
的程序逻辑正确。在第12章中,为使可在文件中搜索文本,我们利用grep命令行工具构建实现我们自己的部分功能。为此,我们将使用前面章节中讨论的许
多概念。
第13章探讨了闭包和迭代器:来自函数式编程语言的Rust的特性。在第14章中,我们将更深入地研究货物,并讨论与他人共享库的最佳实践。第15章讨论了
标准库提供的智能指针以及实现其功能的特性。
在第16章中,我们将介绍不同的并发编程模型,并讨论Rust如何帮助您无畏地在多个线程中编程。第17章介绍了Rust习语与您可能熟悉的面向对象编程原理
的比较。
第18章是关于模式和模式匹配的参考,它们是在Rust程序中表达思想的有效方式。第19章包含了一个感兴趣的高级主题的大杂烩,包括不安全的Rust,宏,
以及更多关于生命期,特征,类型,函数和闭包的内容。
在第20章中,我们将完成一个项目,在该项目中我们将实现一个低级多线程Web服务器!
最后,一些附录以更类似参考的格式包含有关语言的有用信息。附录A涵盖了Rust的关键字,附录B涵盖了Rust的运算符和符号,附录C涵盖了标准库提供的
可导出特性,附录D涵盖了一些有用的开发工具,附录E介绍了Rust版本。
无论哪种方式读这本书:如果你想跳过去,去吧!如果您遇到任何困惑,您可能必须跳回到前面的章节。但如何处事随你。
学习Rust过程的一个重要部分是学习如何阅读编译器显示的错误消息:这些将指导您使用代码。因此,我们将沿着编译器在每种情况下向您显示的错误消息
提供些许示例。如果你输入并运行一个随机示例,你要知道,它可能无法编译! 确保您阅读了这些显示信息,以查看您尝试运行的示例是否错误。Ferris还可以
帮助您区分无意识的代码:
Fe rris 意义意义
这些代码不能编译!
剩余511页未读,继续阅读
asingingbird
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2