倉頡程序設計語言

劉安戰

  • 出版商: 清華大學
  • 出版日期: 2024-07-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • ISBN: 7302615306
  • ISBN-13: 9787302615309
  • 下單後立即進貨 (約2週~3週)

  • 倉頡程序設計語言-preview-1
  • 倉頡程序設計語言-preview-2
  • 倉頡程序設計語言-preview-3
倉頡程序設計語言-preview-1

商品描述

"本書是一本系統闡述倉頡程序設計語言的技術書籍,倉頡程序設計語言是一門由華為公司研發的國產電腦高級編程語言。 全書共15章,全書從最簡單的倉頡程序開始,全面覆蓋了倉頡程序設計語言的基本語法語義規則。第1章為引言,簡單介紹了倉頡語言的歷史和特點。第2章介紹了第1個倉頡程序。第3、4章介紹了倉頡語言的基本類型、運算符、基本輸入輸出和控制結構等。第5章介紹了函數。第6-9章介紹了倉頡語言中的高級類型和類型關系,包括記錄、枚舉、類、接口、繼承等。第10章介紹了泛型和常用集合,泛型是對類型的進一步抽象。第11章介紹了屬性和擴展。第12章介紹了多線程和異常處理,多線程為處理並發問題提供了基礎。第13章介紹了包,包管理為組織多文件及大型項目提供了機制保障。第14、15章是自動微分和元編程,自動微分為倉頡語言在人工智能應用中提供了更高的開發效率,元編程則使倉頡語言具有通過代碼生成代碼和修改代碼的能力。 本書在介紹倉頡語言特性的同時,配備了大量的示例代碼說明,使讀者在學習倉頡程序語言規則上更容易理解,書中示例代碼均進行過測試。 本書可作為開發者瞭解認識倉頡編程語言的入門書籍,可作為大學電腦、軟件專業相關課程的教材或參考書,還可作為倉頡程序設計工程師的參考書籍。"

目錄大綱

目錄

 

第1章  引言 1

1.1  倉頡語言的起源 1

1.2  倉頡語言的特點 1

1.3  本書面向的讀者 2

第2章  第1個倉頡程序 3

2.1  倉頡Hello World程序 3

2.2  編譯和運行 4

2.2.1  在Ubuntu系統下編譯運行 4

2.2.2  在Windows 10系統下開發倉頡程序 6

2.3  倉頡程序包含的元素 16

第3章  基本類型和運算符 18

3.1  常量和變量 18

3.1.1  常量 18

3.1.2  變量 21

3.2  數據類型 22

3.3  運算符 26

3.3.1  算術運算符 26

3.3.2  關系運算符 27

3.3.3  邏輯運算符 28

3.3.4  其他運算符 28

第4章  基本輸入/輸出和控制結構 31

4.1  基本輸出函數 31

4.2  終端輸入/輸出 32

4.2.1  終端輸入 33

4.2.2  終端輸出 34

4.3  控制結構 35

4.3.1  順序結構 35

4.3.2  選擇結構 36

4.3.3  循環結構 40

第5章  函數 46

5.1  函數定義 46

5.1.1  一般函數定義 46

5.1.2  嵌套函數定義 50

5.1.3  重載函數定義 51

5.2  函數調用 51

5.2.1  一般函數調用 52

5.2.2  遞歸函數調用 54

5.3  函數高級特性 55

5.3.1  函數類型 55

5.3.2  函數類型作為變量類型 56

5.3.3  函數類型作為返回類型 56

5.3.4  函數類型作為形參類型 57

5.3.5  Lambda表達式 57

第6章  結構和枚舉類型 59

6.1  結構類型 59

6.1.1  定義結構類型 59

6.1.2  創建使用結構 60

6.1.3  結構成員 61

6.1.4  訪問控制 66

6.1.5  結構定義限制 68

6.2  枚舉類型 69

6.2.1  枚舉類型的基本用法 69

6.2.2  枚舉類型的更多用法 72

6.2.3  Option類型 73

第7章  類和對象 76

7.1  定義類 76

7.2  創建使用類對象 77

7.3  類的成員 79

7.4  可見性和寫限制 85

第8章  繼承和接口 87

8.1  繼承 87

8.1.1  定義派生類 87

8.1.2  繼承中的構造函數 90

8.1.3  訪問權限 91

8.1.4  重載、覆蓋和重定義 93

8.2  接口 95

8.2.1  定義接口 95

8.2.2  接口繼承 97

8.2.3  接口實現 98

8.2.4  Any接口 100

第9章  類型關系 102

9.1  類和子類型 102

9.2  接口和子類型 103

9.3  函數使用中的子類型 104

9.4  類型轉換和類型判斷 106

9.4.1  數值類型之間的轉換 106

9.4.2  字符和整型之間的轉換 107

9.4.3  is和as表達式 107

9.5  類型別名 108

第10章  泛型和常用集合類型 110

10.1  泛型 110

10.1.1  泛型類型 110

10.1.2  泛型函數 114

10.1.3  泛型約束 116

10.2  常用集合類型 118

10.2.1  Array 119

10.2.2  ArrayList 121

10.2.3  HashSet 122

10.2.4  HashMap 124

第11章  屬性和擴展 126

11.1  屬性 126

11.1.1  定義屬性 126

11.1.2  使用屬性 129

11.2  擴展 131

11.2.1  擴展的定義 131

11.2.2  擴展限制和使用 133

11.2.3  擴展的作用域 135

第12章  多線程和異常處理 138

12.1  多線程 138

12.1.1  創建線程 138

12.1.2  等待線程 139

12.1.3  線程同步 141

12.2  異常處理 151

12.2.1  異常類型 152

12.2.2  拋出和處理異常 153

第13章  包 158

13.1  聲明包 158

13.2  包中頂層聲明的可見性 160

13.3  包的導入 162

13.4  多包項目編譯 165

13.5  main函數參數 168

第14章  自動微分 169

14.1  微分技術簡介 169

14.2  簡單的函數自動微分 170

14.3  可微類型 171

14.4  可微函數 172

14.4.1  頂層可微函數 172

14.4.2  非頂層可微函數 174

14.5  自動微分API 176

14.5.1  @Grad表達式 176

14.5.2  @ValWithGrad表達式 178

14.5.3  @AdjointOf表達式 178

14.5.4  stopGradient函數接口 179

14.6  高階微分 180

第15章  元編程 181

15.1  元編程簡介 181

15.2  元編程類型和引述表達式 182

15.2.1  Token類型 182

15.2.2  Tokens類型 183

15.2.3  引述表達式 185

15.3  宏 187

15.3.1  宏定義和調用 187

15.3.2  非屬性宏 188

15.3.3  屬性宏 189

15.3.4  宏嵌套 191

15.4  元編程示例 193

附錄A  倉頡語言中的關鍵字 196

附錄B  倉頡語言中的運算符 197

附錄C  倉頡語言提供的包及主要功能說明 199