圖解倉頡高效編程
吳京潤 張琪琛
- 出版商: 機械工業
- 出版日期: 2025-07-01
- 售價: $714
- 語言: 簡體中文
- ISBN: 7111780426
- ISBN-13: 9787111780427
下單後立即進貨 (約4週~6週)
相關主題
商品描述
倉頡程式語言(簡稱「倉頡」)是全場景應用開發語言,具有強型、空安全、高效開發、高效能和易學習等優點。在本書中,作者透過豐富的心智圖、流程圖、類圖、時序圖等圖解方式,輔以作者總結的使用倉頡開發的心得和官方文件未曾提及的諸多細節,完整展示了倉頡的各種特性和重難。
本書第一作者受邀參加“2024華為開發者年度盛典”並榮獲“社區價值貢獻獎”,有豐富的Java、C等傳統編程語言開發經驗,書中代碼是多年開發經驗的總結,作者選取工作中常見和常用的案例和開發框架,用倉頡重新實現它們,並將其運用到倉頡開發當中。這些程式碼可操作性極強,讀者可以基於書中程式碼實例加以擴展、增強,進而實現自己的開發框架和工具庫。
隨書附贈完整可運行的案例代碼(均配有實際專案代碼庫)、授課用PPT課件、進階學習影片(掃碼觀看),以及作者設計的應用倉頡開發伺服器的工具庫等海量學習資源。同時,考慮集合和IO兩個模組並沒有難以理解或容易用錯的API,基本上是重複標準庫文檔,因此為節約讀者學習時間和購書成本,這部分內容以電子書形式提供。以上資源取得方式請參考本書封底文字說明。
本書適合渴望了解倉頡或需要使用倉頡做開發工作的人群閱讀。對於已經掌握資料結構和任何一種程式語言的讀者,閱讀本書將毫不費力;而對於零基礎的讀者,也不必過於擔心,書中對涉及的技術知識均進行了詳細介紹,不會存在閱讀障礙。
目錄大綱
前言
第1章 關於倉頡
1.1倉頡語言的特性
1.2倉頡程式開發環境
1.2.1Windows版倉頡SDK
1.2.2Linux版倉頡SDK
1.2.3macOS版倉頡SDK
1.3安裝依賴工具
1.3.1安裝Linux版OpenSSL3
1.3.2安裝Windows版OpenSSL3
1.3.3安裝macOS版OpenSSL3
1.4安裝整合開發環境
1.5倉頡文檔
1.6倉頡的官方網站
1.7第一個倉頡應用程式
1.8本章知識點總結與心智圖
第2章 資料類型
2.1你好,倉頡
2.2註釋
2.3資料型
2.3.1整數型
2.3.2浮點型
2.3.3字元型
2.3.4字元位元組字面量
2.3.5布爾型
2.3.6Unit類型
2.3.7Nothing類型
2.3.8區間
2.3.9元組
2.3.10Any
2.3.11Option
2.3.12型別名
2.4倉頡的各種“量”
2.4.1變數
2.4.2常量
2.4.3字面量
2.5操作符
2.5.1算術操作符
2.5.2自增與自減操作符
2.5.3比較與關係式操作符
2.5.4位元運算操作符
2.5.5賦值操作符
2.5.6複合賦值操作符
2.5.7型別檢查操作符
2.5.8型別轉換操作符
2.5.9括號、運算符優先權與結合方向
2.6數組/圖解倉頡高效編程
2.6.1數組字面量
2.6.2構造一個數組
2.6.3數組的切片
2.6.4值類型數組
2.7字串
2.7.1子串
2.7.2拼接
2.7.3插值字串
2.7.4多行字串
2.7.5多行原始字串
2.7.6字串的比較
2.7.7字串的其他操作
2.7.8字串的不可變性
2.7.9空串
2.7.10建構字串
2.7.11字串長度
2.8值類型與引用類型
2.9本章知識點總結與心智圖
第3章 流程控制與函數
3.1if表達式
3.2循環控制流程
3.2.1for-in 循環
3.2.2while循環
3.2.3do-while循環
3.2.4break
3.2.5continue
圖解倉頡高效率程式設計3.3函數
3.3.1宣告一個函數
3.3.2函數參數
3.3.3函數的局部變數
3.3.4函數的回傳值
3.3.5函數是一種資料型
3.3.6巢狀函數
3.3.7函數的繼承關係
3.3.8閉包
3.3.9函數重載
3.3.10不定長參數
3.4函數操作符
3.4.1管道操作符
3.4.2組合操作符
3.5頂級聲明
3.6本章知識點總結與心智圖
第4章結構體、類別與枚舉
4.1聲明結構體
4.2成員變數
4.2.1靜態成員變數
4.2.2靜態初始化器
4.2.3實例成員變數
4.3構造函數
4.3.1普通建構函數
4.3.2主建構函數
4.3.3建立一個實例
4.3.4建構子重載
4.4成員函數
4.4.1靜態成員函數
4.4.2實例成員函數
4.4.3函數重載
4.5成員屬性
4.6成員可見性
4.6.1internal可見性
4.6.2public可見性
4.6.3private可見性
4.6.4protected可見性
4.7禁止遞歸依賴
4.8類
4.8.1聲明類
4.8.2終結器
4.8.3類的遞歸依賴
4.8.4成員變量
4.8.5成員屬性
4.8.6成員函數
4.8.7函數重載
4.8.8可見性
4.8.9結構體與類的選擇
4.9枚舉
4.9.1聲明一個枚舉
4.9.2枚舉構造器的重載
4.9.3枚舉的比較
4.9.4枚舉的使用
4.9.5成員屬性
4.9.6成員函數
4.9.7可見性
4.10模式匹配
4.10.1match分支表達式
4.10.2if-let分支表達式
4.10.3while-let循環
4.11本章知識點總結與心智圖
第5章 物件導向程式設計與繼承
5.1物件導向程式設計思想概述
5.2物件導向程式設計的核心問題
5.3繼承
5.3.1覆蓋
5.3.2對成員變數的封裝
5.3.3This類型
5.4抽象類
5.4.1抽象類別的特徵
5.4.2抽象成員
5.4.3封閉類
5.5可見性
5.6本章知識點總結與心智圖
第6章 介面、泛型、擴充、操作符重載
6.1接口
6.1.1聲明一個接口
6.1.2實作接口
6.1.3封閉接口
6.1.4介面的繼承
6.1.5介面的繼承關係
6.1.6針對結構體的特殊規則
6.1.7裝箱
6.2泛型
6.2.1聲明一個泛型類型
6.2.2泛型的上下界
6.2.3泛型函數
6.2.4泛型初始化
6.2.5泛型的遞歸初始化
6.2.6泛型的限制
6.2.7泛型類型推斷
6.3擴展
6.3.1擴展的意義
6.3.2擴展的聲明
6.3.3直接擴展
6.3.4直接擴展的可見性
6.3.5介面擴展
6.3.6介面擴充的可見性
6.3.7擴展的重載
6.3.8介面擴充的孤兒規則
6.3.9擴展泛型類型
6.3.10擴展泛型成員
6.3.11規避泛型遞歸初始化
6.4操作符重載
6.4.1重載規則
6.4.2一個典型的例子
6.5所有類型的類別圖
6.6本章知識點總結與心智圖
第7章 異常處理機制
7.1異常類型
7.2異常
7.2.1異常的成員
7.2.2聲明一個異常
7.2.3異常的特性
7.2.4拋出異常
7.3異常錯誤的捕獲
7.3.1try-catch表達式
7.3.2捕獲多個異常
7.3.3忽略捕獲
7.3.4finally分支
7.3.5try-catch表達式的類型
7.4被遮蓋的異常
7.5本章知識點總結與心智圖
第8章 並行與並發
8.1線程
8.1.1建立一個線程
8.1.2線程的特點
8.1.3Future類型
8.1.4Thread類型
8.1.5睡眠
8.1.6線程調度
8.2線程安全類型
8.2.1ThreadLocal
8.2.2原子型
8.3並發控制
8.3.1synchronized
8.3.2可重入互斥鎖
8.4並發實例
8.4.1並發安全的佇列
8.4.2讀秒定時器
8.5本章知識點總結與心智圖
第9章 常用標準庫API
9.1core
9.1.1DefaultHasher
9.1.2StringBuilder
9.1.3Box
9.1.4Duration
9.1.5頂級聲明函數
9.2time
9.2.1DateTime型別及初始化
9.2.2DateTime的格式化
9.2.3DateTime的計算
9.2.4DateTime取得各時間單位
9.2.5單調時間
9.3math
9.4regex
9.4.1常見的正規表示式用法
9.4.2常用正規表示式規則
9.4.3常用正規API
9.5encoding
9.5.1json
9.5.2BASE64
9.5.3HEX
9.5.4URL
9.6convert
9.7壓縮
9.7.1壓縮流
9.7.2解壓縮
9.8安全
9.8.1摘要
9.8.2Digest實現
9.8.3HMA
9.8.4對稱加密
9.8.5不對稱加密與簽名
9.9進程的特性
9.9.1Process
9.9.2CurrentProcess
9.9.3SubProcess
9.10本章知識點總結與心智圖
第10章 HTTP與資料庫
10.1HTTP服務端
10.1.1ServerBuilderServer
10.1.2HttpRequestDistributor
10.1.3HttpRequestHandler與它的實現
10.1.4讀取請求參數
10.1.5讀取請求頭
10.1.6HttpRequest的其他特性
10.1.7構造響應報文
10.2ClientBuilder/Client
10.3資料庫
10.3.1DriverManager、Driver、Datasource
10.3.2Connection、Statement、Transaction
10.3.3ColumnInfo、SqlDbType
10.4一個用戶登入伺服器
10.4.1註冊用戶登入實現
10.4.2發送HTTP請求
10.5本章知識點總結與心智圖
第11章 元程式設計與跨語言互通
11.1常量
11.1.1常量的特性
11.1.2常量聲明的限制
11.1.3常數表達式
11.1.4常數函數
11.1.5常量構造函數
11.1.6可以使用常數的場景
11.2反射
11.2.1獲取類型信息
11.2.2獲取類型基本信息
11.2.3獲取類型成員信息
11.2.4目前倉頡反射的限制
11.2.5運行時加載
11.3註解
11.3.1@Annotation
11.3.2AnnotationKind
11.4宏
11.4.1聲明一個宏
11.4.2屬性宏
11.4.3Tokens與AST互相轉換
11.4.4cangjieLex函數
11.4.5緩存中間結果
11.4.6列印程序耗時
11.5預置宏
11.5.1@FastNative
11.5.2整數溢位策略
11.5.3@Derive
11.5.4內建編譯標記
11.5.5條件編譯
11.5.6宏間通信
11.5.7宏特性總結
11.6跨語言互通
11.6.1與C互操作
11.6.2C呼叫倉頡函數
11.7本章知識點總結與心智圖
第12章 一個完整的倉頡項目
12.1項目
12.1.1初始化一個項目
12.1.2cjpm.toml
12.1.3模組
12.1.4包
12.1.5導入
12.1.6各聲明可見性總結
12.2編譯器參數
12.2.1查看編譯器版本
12.2.2指定編譯文件
12.2.3編譯最佳化選項
12.2.4其他工具鏈指令
12.3垃圾回收
12.3.1倉頡的垃圾回收演算法
12.3.2進程初始化參數
12.4開發一個RESTful伺服器
12.4.1解析帶參數的URL路徑
12.4.2自訂HttpRequestDistributor
12.4.3處理RESTful請求
12.4.4登入狀態驗證
12.4.5http請求的元數據
12.4.6啟動http服務
12.4.7初始化controller
12.4.8初始化資料庫連接
12.4.9啟動事務
12.4.10定義DAO
12.4.11業務功能
12.4.12啟動項目
12.4.13可執行檔載入連結庫
12.5本章知識點總結與心智圖
附錄
附錄A關鍵字
附錄B操作符
附錄C運算子函數
附錄D元編程Token類型清單-TokenKind
附錄E倉頡基本特性分解圖