書單推薦 新書推薦 |
倉頡編程從入門到實(shí)踐 讀者對(duì)象:普通讀者 ![]()
隨著萬物互聯(lián)以及智能時(shí)代的到來,軟件的形態(tài)將發(fā)生巨大的變化。一方面,移動(dòng)應(yīng)用和移動(dòng)互聯(lián)網(wǎng)領(lǐng)域仍然
強(qiáng)力驅(qū)動(dòng)人機(jī)交互、設(shè)備協(xié)同、智能化、安全性等方向的創(chuàng)新;另一方面,人工智能也同樣驅(qū)動(dòng)軟件朝智能化、端
邊云協(xié)同等方向演進(jìn)。新技術(shù)、新場景下應(yīng)用軟件的開發(fā)對(duì)編程語言提出了新的訴求和挑戰(zhàn)。
華為自研的倉頡編程語言作為一款面向全場景應(yīng)用開發(fā)的現(xiàn)代編程語言,通過現(xiàn)代語言特性的集成、全方位的
編譯優(yōu)化和運(yùn)行時(shí)實(shí)現(xiàn),以及開箱即用的工具鏈支持,為開發(fā)者打造了友好開發(fā)體驗(yàn)和卓越程序性能。本書主要介
紹倉頡編程語言開發(fā),內(nèi)容涉及倉頡編程語言的通用編程概念、基本數(shù)據(jù)類型、類、接口、擴(kuò)展、模式匹配、泛型、
集合類型、異常處理、包、基礎(chǔ)I/O操作、函數(shù)式編程、并發(fā)編程、宏編程、網(wǎng)絡(luò)編程、CJPM包管理、自動(dòng)化測試
等眾多話題,可謂倉頡編程語言的“百科全書”。其中,綜合實(shí)戰(zhàn)部分演示了KV數(shù)據(jù)庫、雪花算法、HarmonyOS瀑
布流的實(shí)現(xiàn)過程,可以令讀者從零開始掌握倉頡編程語言。
本書實(shí)例豐富,將理論講解最終落實(shí)到代碼實(shí)現(xiàn)上。本書內(nèi)容由淺入深、層層推進(jìn)、結(jié)構(gòu)清晰、實(shí)例豐富、通
俗易懂、實(shí)用性強(qiáng),適合倉頡編程語言的初學(xué)者和進(jìn)階讀者作為自學(xué)教程,也可作為培訓(xùn)學(xué)校和各大院校的相關(guān)專
業(yè)的教學(xué)參考書。
柳偉衛(wèi)
---------------------------- 柳偉衛(wèi),網(wǎng)名老衛(wèi)、waylau,在IT公司擔(dān)任項(xiàng)目經(jīng)理、架構(gòu)師、高級(jí)技術(shù)顧問等職位,是CSDN、 開源中國、阿里云開發(fā)者、華為開發(fā)者等技術(shù)社區(qū)專家,慕課網(wǎng)、華為開發(fā)者聯(lián)盟社區(qū)認(rèn)證講師,HarmonyOS技術(shù)達(dá)人,曾獲2021、2022年度牛人之星、2022年度OpenHarmony開源貢獻(xiàn)之星。著有《跟老衛(wèi)學(xué)HarmonyOS開發(fā)》等開源書,并出版了《鴻蒙HarmonyOS手機(jī)應(yīng)用開發(fā)實(shí)戰(zhàn)》《鴻蒙HarmonyOS應(yīng)用開發(fā)從入門到精通》《Spring Boot 2.0企業(yè)級(jí)應(yīng)用開發(fā)實(shí)戰(zhàn)》《Spring Cloud 微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》《Spring 5 開發(fā)大全》《Cloud Native 分布式架構(gòu)原理與實(shí)踐》《大型互聯(lián)網(wǎng)應(yīng)用輕量級(jí)架構(gòu)實(shí)戰(zhàn)》等專著。
第1章 倉頡編程語言初體驗(yàn)
1.1 歡迎進(jìn)入倉頡編程語言世界 2
1.1.1 倉頡特性 2
1.1.2 高效編程 3
1.1.3 安全可靠 4
1.1.4 輕松并發(fā) 4
1.1.5 卓越性能 4
1.2 安裝倉頡編程語言 5
1.3 搭建倉頡編程語言開發(fā)環(huán)境 10
1.4 實(shí)戰(zhàn):開發(fā)第一個(gè)倉頡編程語言應(yīng)用“Hello World!” 11
1.5 總結(jié) 13
1.6 習(xí)題:開發(fā)“Hello World!”應(yīng)用 13
第2章 通用編程概念
2.1 變量與常量 15
2.1.1 變量 15
2.1.2 常量 17
2.2 標(biāo)識(shí)符與程序結(jié)構(gòu) 18
2.2.1 標(biāo)識(shí)符 18
2.2.2 程序結(jié)構(gòu) 19
2.3 函數(shù) 20
2.3.1 定義函數(shù) 21
2.3.2 函數(shù)參數(shù) 21
2.3.3 函數(shù)返回值 23
2.4 注釋 24
2.4.1 單行注釋 24
2.4.2 多行注釋 25
2.5 流程控制 25
2.5.1 分支 25
2.5.2 循環(huán) 27
2.6 實(shí)戰(zhàn):猜數(shù)字游戲 29
2.6.1 輸入數(shù)字 29
2.6.2 比較大小 30
2.6.3 循環(huán)輸入 31
2.6.4 運(yùn)行效果 31
2.7 結(jié)構(gòu)類型 32
2.7.1 定義struct類型 32
2.7.2 創(chuàng)建struct實(shí)例 37
2.7.3 mut函數(shù) 39
2.8 總結(jié) 39
2.9 習(xí)題:統(tǒng)計(jì)字符串的字符數(shù) 40
第3章 基本數(shù)據(jù)類型
3.1 整數(shù)類型 42
3.1.1 整數(shù)類型字面量 42
3.1.2 字符字節(jié)字面量 43
3.1.3 整數(shù)類型支持的操作符 43
3.2 浮點(diǎn)類型 44
3.2.1 浮點(diǎn)類型字面量 44
3.2.2 浮點(diǎn)類型支持的操作符 45
3.3 布爾類型 45
3.3.1 布爾類型字面量 45
3.3.2 布爾類型支持的操作符 46
3.4 字符類型 46
3.4.1 字符類型字面量 46
3.4.2 字符類型支持的操作符 47
3.5 字符串類型 47
3.5.1 字符串字面量 47
3.5.2 插值字符串 48
3.5.3 字符串類型支持的操作 49
3.6 實(shí)戰(zhàn):操作字符串 49
3.6.1 構(gòu)造 50
3.6.2 查找 50
3.6.3 拼接 51
3.6.4 替換 52
3.7 元組類型 52
3.7.1 元組類型字面量 52
3.7.2 元組類型的類型參數(shù) 53
3.8 數(shù)組類型 53
3.8.1 定義數(shù)組 54
3.8.2 訪問數(shù)組 54
3.8.3 修改數(shù)組 55
3.8.4 數(shù)組的排序 56
3.8.5 VArray 57
3.9 區(qū)間類型 58
3.10 Unit類型 59
3.11 Nothing類型 59
3.12 總結(jié) 60
3.13 習(xí)題:將包含句號(hào)的句子轉(zhuǎn)換為單詞 60
第4章 類、接口及擴(kuò)展
4.1 類 63
4.1.1 class定義 63
4.1.2 this類型 69
4.1.3 創(chuàng)建對(duì)象 70
4.1.4 class的繼承 71
4.2 接口 76
4.2.1 接口定義 77
4.2.2 接口繼承 82
4.2.3 接口實(shí)現(xiàn) 84
4.2.4 Any類型 86
4.3 屬性 86
4.3.1 屬性定義 87
4.3.2 屬性使用 91
4.4 子類型關(guān)系 93
4.5 類型轉(zhuǎn)換 96
4.5.1 數(shù)值類型之間的轉(zhuǎn)換 97
4.5.2 Rune到UInt32和整數(shù)類型到Rune的轉(zhuǎn)換 97
4.5.3 is和as操作符 98
4.6 直接擴(kuò)展 100
4.6.1 擴(kuò)展概述 100
4.6.2 直接擴(kuò)展 100
4.6.3 接口擴(kuò)展 102
4.7 擴(kuò)展訪問規(guī)則 105
4.7.1 擴(kuò)展的修飾符 105
4.7.2 擴(kuò)展的孤兒規(guī)則 106
4.7.3 擴(kuò)展的訪問和遮蓋 106
4.7.4 擴(kuò)展的導(dǎo)入和導(dǎo)出 109
4.8 總結(jié) 111
4.9 習(xí)題:面向?qū)ο蟮膱D形 111
第5章 模式匹配
5.1 模式概述 114
5.1.1 枚舉類型 114
5.1.2 Option類型 116
5.1.3 常量模式 117
5.1.4 通配符模式 118
5.1.5 綁定模式 118
5.1.6 tuple模式 119
5.1.7 類型模式 120
5.1.8 enum模式 120
5.1.9 模式的嵌套組合 121
5.2 refutable模式和irrefutable模式 122
5.3 match 124
5.3.1 含匹配值的match表達(dá)式 124
5.3.2 沒有待匹配值的match表達(dá)式 125
5.4 if-let 125
5.5 while-let 126
5.6 模式適用場景 127
5.7 實(shí)戰(zhàn):猜數(shù)字游戲 129
5.7.1 輸入數(shù)字 129
5.7.2 比較大小 130
5.7.3 循環(huán)輸入 130
5.7.4 運(yùn)行效果 131
5.8 總結(jié) 132
5.9 習(xí)題:“剪刀石頭布”游戲 132
第6章 泛型
6.1 泛型概述 134
6.2 實(shí)戰(zhàn):泛型函數(shù) 134
6.2.1 全局泛型函數(shù) 135
6.2.2 局部泛型函數(shù) 136
6.2.3 泛型成員函數(shù) 136
6.2.4 靜態(tài)泛型函數(shù) 138
6.3 泛型接口 138
6.4 泛型類 139
6.5 實(shí)戰(zhàn):泛型結(jié)構(gòu)體 139
6.6 泛型枚舉 140
6.7 泛型類型的子類型關(guān)系 141
6.8 類型別名 141
6.9 泛型約束 142
6.10 總結(jié) 145
6.11 習(xí)題:動(dòng)物發(fā)聲模擬器 145
第7章 集合類型
7.1 集合類型概述 147
7.2 實(shí)戰(zhàn):使用ArrayList 147
7.2.1 ArrayList擴(kuò)容原理 147
7.2.2 創(chuàng)建ArrayList 148
7.2.3 訪問ArrayList成員 148
7.2.4 修改ArrayList 149
7.2.5 增加ArrayList的大小 151
7.3 實(shí)戰(zhàn):使用HashSet 152
7.3.1 創(chuàng)建HashSet 152
7.3.2 訪問HashSet成員 152
7.3.3 修改HashSet 153
7.4 實(shí)戰(zhàn):使用HashMap 154
7.4.1 創(chuàng)建HashMap 154
7.4.2 訪問HashMap成員 155
7.4.3 修改HashMap 156
7.5 Iterable和Collections 158
7.6 總結(jié) 159
7.7 習(xí)題:名字的“漂亮度” 159
第8章 異常處理
8.1 定義異常 161
8.1.1 異常類 161
8.1.2 Exception和Error的主要函數(shù)及其說明 162
8.2 常見運(yùn)行時(shí)異常 162
8.3 實(shí)戰(zhàn):拋出和處理異常 163
8.3.1 拋出異常 163
8.3.2 普通try表達(dá)式 163
8.3.3 try-with-resources表達(dá)式 164
8.3.4 多個(gè)異常處理 165
8.4 使用Option 166
8.4.1 模式匹配 167
8.4.2 coalescing操作符“??” 167
8.4.3 問號(hào)操作符“?” 168
8.4.4 getOrThrow函數(shù) 169
8.5 總結(jié) 169
8.6 習(xí)題:“剪刀石頭布”游戲的異常處理 169
第9章 包和模塊
9.1 包概述 172
9.2 包的聲明 172
9.3 頂層聲明的可見性 174
9.4 包的導(dǎo)入 175
9.4.1 使用import語句導(dǎo)入其他包中的聲明或定義 175
9.4.2 隱式導(dǎo)入core包 178
9.4.3 使用import as對(duì)導(dǎo)入的名字重命名 178
9.4.4 重導(dǎo)出一個(gè)導(dǎo)入的名字 180
9.5 程序入口 181
9.6 總結(jié) 182
9.7 習(xí)題:帶傳參的“名字的‘漂亮度’” 182
第10章 基礎(chǔ)I/O操作
10.1 I/O流概述 184
10.1.1 流的抽象 184
10.1.2 輸入流 184
10.1.3 輸出流 185
10.1.4 數(shù)據(jù)流分類 186
10.2 I/O節(jié)點(diǎn)流 186
10.2.1 標(biāo)準(zhǔn)流 186
10.2.2 文件流 187
10.3 I/O處理流 189
10.3.1 緩沖流 190
10.3.2 字符串流 191
10.4 實(shí)戰(zhàn):讀寫文件 193
10.4.1 準(zhǔn)備文件資源 193
10.4.2 讀取文件 193
10.4.3 寫入文件 194
10.5 總結(jié) 195
10.6 習(xí)題:獲取文件元數(shù)據(jù) 195
第11章 函數(shù)式編程
11.1 定義函數(shù) 197
11.1.1 參數(shù)列表 197
11.1.2 函數(shù)返回值類型 198
11.1.3 函數(shù)體 199
11.2 調(diào)用函數(shù) 200
11.3 函數(shù)類型 202
11.3.1 函數(shù)類型的常用示例 203
11.3.2 函數(shù)類型的類型參數(shù) 203
11.3.3 函數(shù)類型作為參數(shù)類型 204
11.3.4 函數(shù)類型作為返回類型 204
11.3.5 函數(shù)類型作為變量類型 204
11.4 Lambda表達(dá)式 205
11.4.1 Lambda表達(dá)式定義 205
11.4.2 Lambda表達(dá)式調(diào)用 207
11.5 閉包 207
11.6 函數(shù)調(diào)用語法糖 211
11.6.1 尾隨Lambda 211
11.6.2 Flow表達(dá)式 212
11.6.3 變長參數(shù) 213
11.7 函數(shù)重載 215
11.7.1 函數(shù)重載的類型 215
11.7.2 函數(shù)重載決議 218
11.8 const函數(shù) 219
11.9 實(shí)戰(zhàn):詞頻統(tǒng)計(jì) 221
11.9.1 準(zhǔn)備文件資源 221
11.9.2 統(tǒng)計(jì)詞頻函數(shù) 221
11.9.3 輸出詞頻函數(shù) 222
11.9.4 讀取文件統(tǒng)計(jì)詞頻 223
11.10 總結(jié) 224
11.11 習(xí)題:刪除字符串中出現(xiàn)次數(shù)最少的字符 224
第12章 并發(fā)編程
12.1 并發(fā)概述 226
12.1.1 線程與并發(fā) 226
12.1.2 并發(fā)與并行的區(qū)別 227
12.1.3 倉頡線程模型 227
12.2 創(chuàng)建線程 228
12.3 訪問線程 229
12.3.1 使用Future
你還可能感興趣
我要評(píng)論
|








