write some rust code snippet when i am learning Rust 极客时间专栏《陈天.Rust 编程第一课》学习过程敲的代码
专栏老师介绍
陈天,现任北美最大的免费流媒体服务 TubiTV 的研发副总裁。他始终致力于高性能系统的研发,活跃在网络协议、网络安全、服务端架构、区块链以及云服务等诸多热门领域,已经积累了 18 年工作经验。
因为始终坚持自己的工作理念——“以合适的工具解决合适的问题”,所以在职业生涯的不同阶段,面对不同的工作需求,他坚持使用形态和机制都不同的开发语言,比如说:
用 C 和汇编打造过各种网络协议,维护过在网络安全领域非常知名的嵌入式操作系统 ScreenOS; 用 Python/JavaScript 撰写过曾经的创业项目途客圈; 用 Node.js/Elixir 打造过 TubiTV 高并发的后端核心; 用 Elixir 打造过区块链框架 Forge; 也研究过 Haskell/F#、Clojure/Racket、Swift、Golang 和 C# 等其他语言。
课程介绍
Rust 集表达力、高性能、内存安全于一身,在 1.0 版本发布后不久,口碑就一路高飞猛进,从 16 年起,连续 6 年成为 Stack Overflow 用户评选出来的最受喜爱的语言(2021/3/15 评选结果)。
近几年,国外很多厂商宣布用 Rust 重写自己的技术栈,国内也有用 Rust 重写后端中间件的趋势。在可预见的未来,Rust 或在大多数领域代替 C/C++,甚至 Java/Golang,成为开发者的主力语言。
但是,Rust 对初学者似乎并不友好,被公认难入门,学习曲线相当陡峭。
比如变量的所有权和生命周期,作为 Rust 的创新概念,是其他编程语言都未涉及的领域。除此之外,不同语言背景,学习也各有难点:
C 开发者,难点是类型系统和泛型编程; C++ 开发者,难点主要在类型系统; Python/Ruby/JavaScript 开发者,难点在并发处理、类型系统及泛型编程; Golang 开发者,难点在类型系统和泛型编程; Java 开发者,难点在异步处理和并发安全的理解上。 该如何跨越这些门槛,不断攀登新高峰呢?
为此,我们邀请到 Rust 专家陈天老师,结合其十八年深度使用多种语言的经验,以先行者的身份输出学习心法,从新手命令行到项目落地,带你知识与实战两手抓,真正掌握 Rust 的概念本质和设计理念,把 Rust 引入你的技术栈。