此商品已下架,若仍需天瓏代為查詢或代購書籍,請與門市客服人員聯繫,或 E-mail 至 service@tenlong.com.tw 將有專人為您服務。

圖解倉頡高效編程

吳京潤 張琪琛

  • 出版商: 機械工業
  • 出版日期: 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倉頡基本特性分解圖