作者:禅与计算机程序设计艺术
1.背景介绍
Rust 是一门现代、快速、安全、跨平台语言。它具有以下特性:
- 静态类型:编译时就进行类型检查,避免运行时错误;
- 高效的运行速度:Rust 对并行化支持友好,可以充分利用多核CPU;
- 智能指针:自动内存管理机制简化开发工作;
- 可扩展性:通过方便的构建工具链及丰富的标准库支持可扩展;
- 最小化依赖:降低系统资源消耗,支持无关的库。
其最大优点之一就是安全性,它通过类型系统和所有权模型保证内存安全。另外,Rust 也带来了一些语法上的方便。比如,所有数据类型都可以直接放在堆上,而不用像 C++ 那样先声明再使用。
本教程基于 Rust 1.19版本和 Tokio-core 和 Futures crate。使用 Tokio 提供异步 IO 功能,Futures 提供对 Future 模型的支持。文章中的示例源码也是基于Tokio和Future的实现。
本教程适合需要学习 Rust 语言作为后端开发语言的工程师阅读,或者对于 Rust 有兴趣但想了解其内部原理的技术人员阅读。文章包括以下内容:
- 函数:介绍Rust的基本函数语法、定义、调用、参数传递、返回值、可变参数、闭包、高阶函数等;
- 模块:介绍Rust的模块系统、use关键字、路径别名、嵌套命名空间、公开私有、条件编译、测试、文档注释等;
- 异步IO:介绍Tokio提供的异步IO模型和Futures crate,以及在Tokio中使用Future模型进行异步编程的方法;
- 测试: