展开全部

主编推荐语

本书对Rust进行了全面介绍,并提供了大量清晰易懂的示例,逐步指导读者用Rust编写出既安全又高性能的程序。

内容简介

本书由两位经验丰富的系统程序员撰写,介绍了一种具有C和C++性能,同时安全且支持并发的新型系统编程语言Rust,解释了Rust如何在性能和安全性之间架起桥梁,以及我们如何用好这门语言。

书中主要内容包括:Rust的基本数据类型,关于所有权、引用等概念,表达式、错误处理、包和模块、结构体、枚举与模式等基础知识,Rust语言的特型与泛型,闭包,迭代器,集合,等等。

目录

  • 版权信息
  • O'Reilly Media, Inc. 介绍
  • 业界评论
  • 前言
  • 读者对象
  • 写作初衷
  • 本书内容
  • 排版约定
  • 使用代码示例
  • O'Reilly在线学习平台
  • 联系我们
  • 致谢
  • 电子书
  • 第1章 为什么是Rust
  • 类型安全
  • 第2章 Rust初体验
  • 2.1 下载和安装Rust
  • 2.2 一个简单的函数
  • 2.3 编写和运行单元测试
  • 2.4 处理命令行参数
  • 2.5 一个简单的Web服务器
  • 2.6 并发
  • 第3章 基本类型
  • 3.1 机器类型
  • 3.2 元组
  • 3.3 指针类型
  • 3.4 数组、向量和切片
  • 3.5 字符串类型
  • 3.6 更多类型
  • 第4章 所有权
  • 4.1 所有权
  • 4.2 转移
  • 4.3 Copy类型:转移的例外
  • 4.4 Rc和Arc:共享所有权
  • 第5章 引用
  • 5.1 引用作为值
  • 5.2 引用安全
  • 5.3 共享与修改
  • 5.4 征服对象之海
  • 第6章 表达式
  • 6.1 表达式语言
  • 6.2 块与分号
  • 6.3 声明
  • 6.4 if与match
  • 6.5 循环
  • 6.6 return表达式
  • 6.7 为什么Rust有循环
  • 6.8 函数与方法调用
  • 6.9 字段与元素
  • 6.10 引用操作符
  • 6.11 算术、位、比较和逻辑操作符
  • 6.12 赋值
  • 6.13 类型转换
  • 6.14 闭包
  • 6.15 优先级与关联性
  • 6.16 展望
  • 第7章 错误处理
  • 7.1 诧异
  • 7.2 结果
  • 第8章 包和模块
  • 8.1 包
  • 8.2 模块
  • 8.3 将程序作为库发布
  • 8.4 src/bin目录
  • 8.5 属性
  • 8.6 测试和文档
  • 8.7 指定依赖
  • 8.8 把包发布到crates.io
  • 8.9 工作空间
  • 8.10 还有惊喜
  • 第9章 结构体
  • 9.1 命名字段结构体
  • 9.2 类元组结构体
  • 9.3 类基元结构体
  • 9.4 结构体布局
  • 9.5 通过impl定义方法
  • 9.6 泛型结构体
  • 9.7 带生命期参数的结构体
  • 9.8 为结构体类型派生共有特型
  • 9.9 内部修改能力
  • 第10章 枚举与模式
  • 10.1 枚举
  • 10.2 模式
  • 10.3 设计的考量
  • 第11章 特型与泛型
  • 11.1 使用特型
  • 11.2 定义和实现特型
  • 11.3 完全限定方法调用
  • 11.4 定义类型关系的特型
  • 11.5 逆向工程绑定
  • 11.6 小结
  • 第12章 操作符重载
  • 12.1 算术与位操作符
  • 12.2 相等测试
  • 12.3 顺序比较
  • 12.4 Index与IndexMut
  • 12.5 其他操作符
  • 第13章 实用特型
  • 13.1 Drop
  • 13.2 Sized
  • 13.3 Clone
  • 13.4 Copy
  • 13.5 Deref与DerefMut
  • 13.6 Default
  • 13.7 AsRef与AsMut
  • 13.8 Borrow与BorrowMut
  • 13.9 From与Into
  • 13.10 ToOwned
  • 13.11 Borrow与ToOwned实例:谦逊的奶牛(Cow)
  • 第14章 闭包
  • 14.1 捕获变量
  • 14.2 函数与闭包类型
  • 14.3 闭包的性能
  • 14.4 闭包和安全
  • 14.4.2 FnOnce
  • 14.5 回调
  • 14.6 有效使用闭包
  • 第15章 迭代器
  • 15.1 Iterator和IntoIterator特型
  • 15.2 创建迭代器
  • 15.3 迭代器适配器
  • 15.4 消费迭代器
  • 15.5 实现自己的迭代器
  • 第16章 集合
  • 16.1 概述
  • 16.2 Vec<T>
  • 16.3 VecDeque<T>
  • 16.4 LinkedList<T>
  • 16.5 BinaryHeap<T>
  • 16.6 HashMap<K, V>和BTreeMap<K, V>
  • 16.7 HashSet<T>和BTreeSet<T>
  • 16.8 散列
  • 16.9 标准集合之外
  • 第17章 字符串与文本
  • 17.1 Unicode背景知识
  • 17.2 字符(char)
  • 17.3 String与str
  • 17.4 格式化值
  • 17.5 正则表达式
  • 17.6 规范化
  • 第18章 输入和输出
  • 18.1 读取器和写入器
  • 18.2 文件与目录
  • 18.3 网络编程
  • 第19章 并发
  • 19.1 并行分叉–合并
  • 19.2 通道
  • 19.3 共享可修改状态
  • 19.4 习惯编写Rust并发代码
  • 第20章 宏
  • 20.1 宏基础
  • 20.2 内置宏
  • 20.3 调试宏
  • 20.4 json!宏
  • 20.5 匹配时避免语法错误
  • 20.6 超越macro_rules!
  • 第21章 不安全代码
  • 21.1 不安全源自哪里
  • 21.2 不安全的块
  • 21.3 不安全的函数
  • 21.4 不安全的块还是不安全的函数
  • 21.5 未定义行为
  • 21.6 不安全的特型
  • 21.7 原始指针
  • 21.8 外来函数:在Rust中调用C和C++
  • 21.9 小结
  • 作者介绍
  • 封面介绍
  • 看完了
展开全部

评分及书评

4.8
4个评分
  • 用户头像
    给这本书评了
    5.0
    很好的rust知识介绍书籍

    这本书详细的介绍了 rust 的基础知识,以及为了实现安全目标而做出的各种妥协和约定。同时,从底层描述了 rust 代码的结构。让我了解到 rust 与其他字节码语言的不同。它确实更加贴近机器,用更多的工具为系统编程保驾。不过,rust 也确实带来了不少麻烦,比如所有权和生存期这些平时很少关注的内容。这些东西以明码的方式写在代码之中,确实带来了巨大的认知负担,让人不容易看懂。如果能够在写代码的时候,首先写不安全的,然后通过自动或者手动的方式,将代码安全化,会让写 rust 更加顺畅。同样在阅读代码的时候,尽量不要显示所有权和生存期的信息,只有需要的时候才展开,会更加有利于理解代码逻辑。这本书让我了解到 rust 对泛型的利用到了令人发指的地步。这在其他语言中是难以想象的。泛型确实是非常好的抽象表达,但是也确实不容易理解。只能够以强大的自信,相信自己和编译器,认为当前代码是对的。rust 最有趣的可能还是宏了,让语言能够多一些自定义的功能可能是程序员最喜欢的特性。写一些自己的工具包。让工作更加简单一些。关键还可以利用编译器的信息,做到一般代码无法做到的事情。

      转发
      评论

    出版方

    人民邮电出版社·图灵出品

    图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。