دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: 张汉东
سری:
ISBN (شابک) : 9787121354854
ناشر:
سال نشر: 2019
تعداد صفحات: 678
زبان: Chinese
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 79 مگابایت
در صورت تبدیل فایل کتاب Rust编程之道 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Rust编程之道 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Rust یک زبان برنامه نویسی است که از یک سیستم نوع مدرن برای ادغام ارگانیک مدیریت حافظه، معنای مالکیت و پارادایم های برنامه نویسی مختلط استفاده می کند. دارای عملکرد قابل مقایسه با زبان C/C و کارایی توسعه قابل مقایسه با زبان پویا است. این کتاب یک لیست ساده از محتوای دستور زبان نیست، بلکه مقدمه ای عمیق، جامع و شفاف از زبان Rust از چهار بعد است. از شروع از فلسفه طراحی ، سازگاری درونی زبان Rust را بررسی کنید؛ از تجزیه و تحلیل کد منبع شروع کنید، سبک برنامه نویسی معتبر Rust را بررسی کنید؛ از دیدگاه مهندسی شروع کنید، حمایت Rust را برای استحکام بررسی کنید؛ از اصول اساسی شروع کنید، جوهر ایمنی حافظه Rust را کشف کنید.
Rust是一门利用现代化的类型系统,有机地融合了内存管理,所有权语义和混合编程范式的编程语言.它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全.同时,还有能与C/C 语言媲美的性能,以及能和动态语言媲美的开发效率.本书并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust语言.从设计哲学出发,探索Rust语言的内在一致性;从源码分析入手,探索Rust 地道的编程风格;从工程角度着手,探索Rust对健壮性的支持;从底层原理开始,探索Rust内存安全的本质.
版权页 推荐序一 推荐序二 推荐序三 序 前言 目录 第1章 新时代的语言 1.1 缘起 1.2 设计哲学 1.2.1 内存安全 1.2.2 零成本抽象 1.2.3 实用性 1.3 现状与未来 1.3.1 语言架构 1.3.2 开源社区 1.3.3 发展前景 1.4 Rust代码如何执行 1.5 小结 第2章 语言精要 2.1 Rust语言的基本构成 2.1.1 语言规范 2.1.2 编译器 2.1.3 核心库 2.1.4 标准库 2.1.5 包管理器 2.2 语句与表达式 2.3 变量与绑定 2.3.1 位置表达式和值表达式 2.3.2 不可变绑定与可变绑定 2.3.3 所有权与引用 2.4 函数与闭包 2.4.1 函数定义 2.4.2 作用域与生命周期 2.4.3 函数指针 2.4.5 CTFE机制 2.4.6 闭包 2.5 流程控制 2.5.1 条件表达式 2.5.2 循环表达式 2.5.3 match表达式与模式匹配 2.5.4 if let和while let表达式 2.6 基本数据类型 2.6.1 布尔类型 2.6.2 基本数字类型 2.6.3 字符类型 2.6.4 数组类型 2.6.5 范围类型 2.6.6 切片类型 2.6.7 str字符串类型 2.6.8 原生指针 2.6.9 never类型 2.7 复合数据类型 2.7.1 元组 2.7.2 结构体 2.7.3 枚举体 2.8 常用集合类型 2.8.1 线性序列:向量 2.8.2 线性序列:双端队列 2.8.3 线性序列:链表 2.8.4 Key-Value映射表:HashMap和BTreeMap 2.8.5 集合:HashSet和BTreeSet 2.8.6 优先队列:BinaryHeap 2.9 智能指针 2.10 泛型和trait 2.10.1 泛型 2.10.2 trait 2.11 错误处理 2.12 表达式优先级 2.13 注释与打印 2.14 小结 第3章 类型系统 3.1 通用概念 3.1.1 类型系统的作用 3.1.2 类型系统的分类 3.1.3 类型系统与多态性 3.2 Rust类型系统概述 3.2.1 类型大小 3.2.2 类型推导 3.3 泛型 3.3.1 泛型函数 3.3.2 泛型返回值自动推导 3.4 深入trait 3.4.1 接口抽象 3.4.2 泛型约束 3.4.3 抽象类型 3.4.4 标签trait 3.5 类型转换 3.5.1 Deref解引用 3.5.2 as操作符 3.5.3 From和Into 3.6 当前trait系统的不足 3.6.1 孤儿规则的局限性 3.6.2 代码复用的效率不高 3.6.3 抽象表达能力有待改进 3.7 小结 第4章 内存管理 4.1 通用概念 4.1.1 栈 4.1.2 堆 4.1.3 内存布局 4.2 Rust中的资源管理 4.2.1 变量和函数 4.2.2 智能指针与RAII 4.2.3 内存泄漏与内存安全 4.2.4 复合类型的内存分配和布局 4.3 小结 第5章 所有权系统 5.1 通用概念 5.2 所有权机制 5.3 绑定、作用域和生命周期 5.3.1 不可变与可变 5.3.2 绑定的时间属性——生命周期 5.4 所有权借用 5.5 生命周期参数 5.5.1 显式生命周期参数 5.5.2 省略生命周期参数 5.5.3 生命周期限定 5.5.4 trait对象的生命周期 5.6 智能指针与所有权 5.6.1 共享所有权Rc<T>和Weak<T> 5.6.2 内部可变性Cell<T>和RefCell<T> 5.6.3 写时复制Cow<T> 5.7 并发安全与所有权 5.8 非词法作用域生命周期 5.9 小结 第6章 函数、闭包与迭代器 6.1 函数 6.1.1 函数屏蔽 6.1.2 函数参数模式匹配 6.1.3 函数返回值 6.1.4 泛型函数 6.1.5 方法与函数 6.1.6 高阶函数 6.2 闭包 6.2.1 闭包的基本语法 6.2.2 闭包的实现 6.2.3 闭包与所有权 6.2.4 闭包作为函数参数和返回值 6.2.5 高阶生命周期 6.3 迭代器 6.3.1 外部迭代器和内部迭代器 6.3.2 Iterator trait 6.3.3 IntoIterator trait和迭代器 6.3.4 迭代器适配器 6.3.5 消费器 6.3.6 自定义迭代器适配器 6.4 小结 第7章 结构化编程 7.1 面向对象风格编程 7.1.1 结构体 7.1.2 枚举体 7.1.3 析构顺序 7.2 常用设计模式 7.2.1 建造者模式 7.2.2 访问者模式 7.2.3 RAII模式 7.3 小结 第8章 字符串与集合类型 8.1 字符串 8.1.1 字符编码 8.1.2 字符 8.1.3 字符串分类 8.1.4 字符串的两种处理方式 8.1.5 字符串的修改 8.1.6 字符串的查找 8.1.7 与其他类型相互转换 8.1.8 回顾 8.2 集合类型 8.2.1 动态可增长数组 8.2.2 映射集 8.3 理解容量 8.4 小结 第9章 构建健壮的程序 9.1 通用概念 9.2 消除失败 9.3 分层处理错误 9.3.1 可选值Option<T> 9.3.2 错误处理Result<T,E> 9.4 恐慌(Panic) 9.5 第三方库 9.6 小结 第10章 模块化编程 10.1 包管理 10.1.1 使用Cargo创建包 10.1.2 使用第三方包 10.1.3 Cargo.toml文件格式 10.1.4 自定义Cargo 10.2 模块系统 10.3 从零开始实现一个完整功能包 10.3.1 使用Cargo创建新项目 10.3.2 使用structopt解析命令行参数 10.3.3 定义统一的错误类型 10.3.4 读取CSV文件 10.3.5 替换CSV文件中的内容 10.3.6 进一步完善包 10.4 可见性和私有性 10.5 小结 第11章 安全并发 11.1 通用概念 11.1.1 多进程和多线程 11.1.2 事件驱动、异步回调和协程 11.1.3 线程安全 11.2 多线程并发编程 11.2.1 线程管理 11.2.2 Send和Sync 11.2.3 使用锁进行线程同步 11.2.4 屏障和条件变量 11.2.5 原子类型 11.2.6 使用Channel进行线程间通信 11.2.7 内部可变性探究 11.2.8 线程池 11.2.9 使用Rayon执行并行任务 11.2.10 使用Crossbeam 11.3 异步并发 11.3.1 生成器 11.3.2 Future并发模式 11.3.3 async/await 11.4 数据并行 11.4.1 什么是SIMD 11.4.2 在Rust中使用SIMD 11.5 小结 第12章 元编程 12.1 反射 12.1.1 通过is函数判断类型 12.1.2 转换到具体类型 12.1.3 非静态生命周期类型 12.2 宏系统 12.2.1 起源 12.2.2 Rust中宏的种类 12.2.3 编译过程 12.2.4 声明宏 12.2.5 过程宏 12.3 编译器插件 12.4 小结 第13章 超越安全的边界 13.1 Unsafe Rust介绍 13.1.1 Unsafe语法 13.1.2 访问和修改可变静态变量 13.1.3 Union联合体 13.1.4 解引用原生指针 13.2 基于Unsafe进行安全抽象 13.2.1 原生指针 13.2.2 子类型与型变 13.2.3 未绑定生命周期 13.2.4 Drop检查 13.2.5 NonNull<T>指针 13.2.6 Unsafe与恐慌安全 13.2.7 堆内存分配 13.2.8 混合代码内存安全架构三大原则 13.3 和其他语言交互 13.3.1 外部函数接口 13.3.2 与C/C++语言交互 13.3.3 使用Rust提升动态语言性能 13.4 Rust与WebAssembly 13.4.1 WebAssembly要点介绍 13.4.2 使用Rust开发WebAssembly 13.4.3 打造WebAssembly开发生态 13.5 小结 附录A Rust开发环境指南 附录B Rust如何调试代码