您想学习Rust但不知道从哪里开始,读这篇文章
时间:2020-06-18 来源:新闻网 人浏览 -
面向Rust初学者的完整免费资源
> Image by @aznhe21
目录·简介·Rust工具链·Rust免费在线书籍和资源·视频教程·Rust社区·Rust官方链接·交互式学习·Rust IDE扩展·Rust生态系统·中级用户资源·结论
介绍Rust是一种现代系统编程语言,专注于安全性,速度和并发性。
基准游戏的下图显示了Rust如何快速比较其他编程语言。 您可以在此处与Go语言进行比较。
> Image from The Benchmarks Game
在本文中,您将找到基本的Rust工具,最新文档,教程,视频和在线资源。
阅读此书后,您可以导航自己,并以适合您的学习风格的方式开始有效地学习Rust编程语言。
安装Rust时,您将安装rustc,货物,rustup和其他标准工具。 因此,让我们先找到Rust工具链,然后再查找所有资源。
> Image from Rust
Rust工具链工具链是一组帮助语言生成功能代码的工具。 它们可以通过简单的编译器和链接器程序,或其他库,IDE或调试器提供扩展功能。
Rustuprustup安装Rust编程语言,使您能够轻松地在稳定的,beta的和每夜的编译器之间切换,并保持它们的更新。
您可以更新Rust:
$ rustup update
> rustup Quick Reference by the author
Rustcrustc是Rust编程语言的编译器。 编译器将您的源代码作为库或可执行文件获取并生成二进制代码。 您将使用Cargo运行Rust程序而不是rustc。
您可以在关于rustc的参考中找到更多详细信息。
Cargo> Image from The Cargo Book
Cargo是Rust的包裹经理。 Cargo下载您的Rust软件包的依赖项,编译您的软件包,制作可分发的软件包,然后将它们上传到Rust社区的软件包注册表crates.io。
> Cargo quick reference by the author
其他官方工具· Clippy是生锈的短毛猫。
· rustfmt根据样式准则设置Rust代码的格式。
Rust免费在线书籍和资源在尝试其他资源之前,您无法避免使用Rust编程语言。 这是您需要阅读的有关Rust的第一本和完整的书。 本书涵盖了面向初学者和高级用户的主题。 它通过许多示例和图表解释了所有细节。
> Image from The Rust Programming Language
如果您从示例中学到更多,Rust by Example就是您的最佳选择。 它是可运行示例的集合,这些示例说明了各种Rust概念和标准库。 您可以找到20多个示例。
> Rust by Example
您可以从浏览器编辑和运行Rust代码。
> Code sample from Rust by Example
您将在最后找到中级和高级在线资源。
影片教学如果您想从视频中学习,那么以下视频将为您提供帮助。
· Rust简介| COM209讲授Rust的一些基础知识,然后构建并运行一个简单的应用程序。 该视频摄于2020年5月。
· David Pedersen在YouTube上发布了他的现场编码。 他们是从2020年5月起。
· 在乔纳森(Jonathan)教杰森·鲁斯特(Jason Rust!)中,乔纳森(Jonathan)尝试在几个小时内教杰森·特纳·鲁斯特(Jason Turner Rust)基础知识。 该视频摄于2020年5月。
· 在12篇对您有帮助的知识中,Rust Gary解释了循环,变量,函数,元组,字符串等。 该视频摄于2020年4月。
· 学习Rust:Rustlings显示了一些Rustlings练习中的配对编程。 该视频摄于2019年8月。
> The unofficial mascot for Rust
Rust社区博客和新闻通讯· 您应该在Rust中订阅本周。 它每周提供有关Rust的最新信息。
· Rust博客是主要的Rust博客。 核心团队使用此博客来宣布Rust领域的重大发展。
· Inside Rust博客旨在针对那些希望跟随Rust开发的人们。
· Brian的Rust博客文章页面按类别进行组织,其中包含许多博客文章。
在哪里可以得到帮助?Rust Discord有许多活跃成员,并且其中一部分是针对初学者的。
> Rust Discord beginners section
Rust用户论坛旨在提供有关Rust编程语言的帮助,讨论和公告。
> Rust Users Forum
Stackoverflow有16000多个问题。
人们在Twitter上关注·#rustlang,#learnrust和#learningrust·Rust语言·Aidan Hobson Sayers·Ashley Williams·Carol Nichols·Niko Matsakis·Nick Cameron·Pietro Albini·Lin Clark·Florian Gilcher·Kyle J Strand·本周在Rust·Jonathan Turner
Rust聚会有许多Rust Meetup组正在运行在线会议。 您也可以在Rust社区日历中找到会议。
Rust官方链接条板箱是Rust的二进制文件或库,您可以在https://crates.io/上找到Rust社区的条板箱注册表。
包裹是一个或多个提供一组功能的板条箱。 一个软件包包含一个Cargo.toml文件,该文件描述了如何构建这些包装箱。
Rust标准库提供Rust标准库文档。
Rust Playground提供了craits.io中下载次数最多的100个板条箱,以及Rust Cookbook中下载次数最多的板条箱。
其他资源Learn Rust提供所需的指南和文档。
您可以在Awesome Rust中按类别查找项目工具库。
黑色教学材料通过幻灯片演示涵盖了高级主题的基础。 它提供了示例代码,并且说明简洁明了。
Rust错误如果您想详细了解Rust错误,Rust编译器错误索引将列出所有Rust错误以及示例。
您的终端错误:
> Rust error message
Rust编译器错误索引中的错误详细信息:
> Error Index
互动学习如果您喜欢边做边学,那么这些适合您。
Tour of Rust是有关Rust编程语言功能的分步指南。 它涵盖基础知识,基本控制流,基本数据结构类型和泛型类型。
> Tour of Rust
rustlings有一些小练习,可以让您习惯于阅读和编写Rust代码。 您可以将其与Rust编程语言一起使用。
您可以开始练习:
rultlings watch
保存文件时,它将自动检查答案并提供反馈。
> Image by the author
完成练习后,您需要删除以下行:
// I AM NOT DONE
保存文件后,它将继续进行下一个练习。
沙沙声为文档链接提供了有用的提示。
> Image by the author
Rust IDE扩展您可以在这里为您的编辑器找到Rust集成。 如果您是VS Code用户,则可以安装rls-vscode扩展名。
Rust语言服务器,RLS提供了一个在后台运行的服务器,为IDE,编辑器和其他工具提供了有关Rust程序的信息。 它支持代码完成,跳转到定义,代码格式等等。
Rust Lang编译器团队将创建rls-2.0工作组。 目的是使用户获得更好的RLS体验。
您可以在rust-analyzer中找到它们的实现,并且rust-analyzer支持不同的IDE。
您可以在《我们(I)DE吗?》中找到编辑器对Rust的支持程度。
Rust生态您可以在crates.io中找到许多库。 以下是您可能感兴趣的一些类别。
网络框架根据Web框架基准,Actix是最快的框架。 有十个活动的Rust Web框架。 Actix,Rocket,Gotham等。您可以从Web框架比较中找到更多信息。
Web组装如果您对WebAssembly感兴趣,那么以下链接将为您提供帮助。
· 了解WebAssembly文本格式
· 从Rust编译到WebAssembly
· Rust和WebAssembly
· Lin Clark借助WASI将WebAssembly带到网络之外,解释了WASI的工作原理,并探讨了不同的用例如何从中受益。
其他语言的Rust绑定bindgen自动生成Rust CFI绑定到C(和某些C ++)库。
PyO3包括运行Rust二进制文件中的Python代码并与之交互。Mara的Blog经历了创建内联Python的过程。
您可以在carates.io中找到更多绑定。
序列化和反序列化Serde是用于序列化和反序列化Rust数据结构的框架。
序列化采用内存中的数据结构,并将其转换为可以存储和传输的一系列字节。 反序列化需要一系列字节,并将其转换为内存中的数据结构,可以以编程方式使用它。
ORMDiesel是用于Rust的安全,可扩展的ORM和查询生成器。
中级用户资源如果您喜欢冒险,可以检查以下其中一项。
· 对于刚接触该语言并使用简单命令行界面(CLI)编写程序的初学者来说,Rust中的命令行应用程序是一项不错的练习。 您将了解Rust的一些核心概念以及CLI应用程序的主要方面。
· Rust API Guidelines是关于如何设计和展示Rust编程语言的API的一组建议。
· Rust Cookbook是一些简单示例的集合,这些示例演示了使用Rust生态系统的板条箱完成常见编程任务的良好实践。
· rustc书籍rustc是Rust编程语言的编译器。 编译器将您的源代码作为库或可执行文件获取并生成二进制代码。
· 《货运》一书告诉您有关货运的一切。
· Rust语言备忘单适合有经验的程序员和Rust中级用户。 如果您更喜欢视觉示例驱动的内容,那么这是给您的。 您可以从Github存储库下载PDF。
· Rust Forge充当补充文档的存储库,对Rust编程语言的成员很有用。
· Rust参考是Rust编程语言的主要参考。 它提供语言的构造和使用,内存模型,并发模型,运行时服务等。
· 嵌入式开发
· 防锈设计模式
结论网上资源千疮百孔。 希望您找到了最合适的学习资源,并开始学习Rust编程语言。
如果我错过了任何事情,请告诉我。
(本文翻译自Shinichi Okada的文章《You Want to Learn Rust but You Don't Know Where to Start》,参考:https://towardsdatascience.com/you-want-to-learn-rust-but-you-dont-know-where-to-start-fc826402d5ba)
下一篇:2020年十大开发人员职位