幫助中心 | 我的帳號 | 關於我們

Rust編程之道

  • 作者:張漢東
  • 出版社:電子工業
  • ISBN:9787121354854
  • 出版日期:2019/01/01
  • 裝幀:平裝
  • 頁數:556
人民幣:RMB 128 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Rust是一門利用現代化的類型系統,有機地融合了內存管理、所有權語義和混合編程範式的編程語言。它不僅能科學地保證程序的正確性,還能保證內存安全和線程安全。同時,還有能與C/C++語言媲美的性能,以及能和動態語言媲美的開發效率。
    張漢東著的《Rust編程之道》並非對語法內容進行簡單羅列講解,而是從四個維度深入全面且通透地介紹了Rust語言。從設計哲學出發,探索Rust語言的內在一致性;從源碼分析入手,探索Rust地道的編程風格;從工程角度著手,探索Rust對健壯性的支持;從底層原理開始,探索Rust內存安全的本質。
    本書涵蓋了Rust 2018的特性,適合有一定編程經驗且想要學習Rust的初學者,以及對Rust有一定的了解,想要繼續深入學習的進階者。

作者介紹
張漢東
    張漢東,80后資深軟體工程師、企業獨立咨詢師、技術圖書作譯者。愛好讀書、寫作,喜歡研究技術、學習之道,以及心智和認知開發模式。曾在互聯網行業沉浮十余載,先後效力于電商、社交遊戲、廣告和眾籌領域。作為企業獨立咨詢師,先後為思科、平安科技和閃迪等公司提供咨詢服務。目前在心智教育及創客領域開疆拓土。是《Ruby原理剖析》一書的譯者。     喜歡Rust語言,為Rust語言提交了三次編譯器Bug,並協助修復其中之一。為官方Rust 2018 Guide做過貢獻,並數次提出改進意見。參與了國內Rust社區的管理和運營,在2018年打造了《Rust每日新聞》頻道,深受Rustacean們的喜愛。為初學者精心打造了Rust必學第一課:知乎Live《如何系統地學習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如何調試代碼

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032