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

倉頡編程從入門到實踐

  • 作者:柳偉衛|責編:王繼偉//吳秀川
  • 出版社:北京大學
  • ISBN:9787301360873
  • 出版日期:2025/11/01
  • 裝幀:平裝
  • 頁數:364
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著萬物互聯以及智能時代的到來,軟體的形態將發生巨大的變化。一方面,移動應用和移動互聯網領域仍然強力驅動人機交互、設備協同、智能化、安全性等方向的創新;另一方面,人工智慧也同樣驅動軟體朝智能化、端邊雲協同等方向演進。新技術、新場景下應用軟體的開發對編程語言提出了新的訴求和挑戰。
    華為自研的倉頡編程語言作為一款面向全場景應用開發的現代編程語言,通過現代語言特性的集成、全方位的編譯優化和運行時實現,以及開箱即用的工具鏈支持,為開發者打造了友好開發體驗和卓越程序性能。本書主要介紹倉頡編程語言開發,內容涉及倉頡編程語言的通用編程概念、基本數據類型、類、介面、擴展、模式匹配、泛型、集合類型、異常處理、包、基礎I/O操作、函數式編程、併發編程、宏編程、網路編程、CIPM包管理、自動化測試等眾多話題,可謂倉頡編程語言的「百科全書」。其中,綜合實戰部分演示了KV資料庫、雪花演算法、HarmonyOS瀑布流的實現過程,可以令讀者從零開始掌握倉頡編程語言。
    本書實例豐富,將理論講解最終落實到代碼實現上。本書內容由淺入深、層層推進、結構清晰、實例豐富、通俗易懂、實用性強,適合倉頡編程語言的初學者和進階讀者作為自學教程,也可作為培訓學校和各大院校的相關專業的教學參考書。

作者介紹
柳偉衛|責編:王繼偉//吳秀川
    柳偉衛,網名老衛、waylau,在IT公司擔任過項目經理、架構師、高級技術顧問等職位,擁有十余年開發經驗,具有豐富的軟體開發管理及系統架構經驗。曾主導過多個省、國家級大型分散式系統的設計與研發,參與過面向全球的供應鏈系統服務化改造。在工作實踐中,積累了大量的分散式系統、微服務架構以及性能調優經驗。喜歡開源,長期活躍于各大開源社區,編著了《Netty 4.x用戶指南》《Netty實戰(精髓)》等30余本開源技術教程,廣受網友好評,是CSDN、開源中國、阿里雲開發者、華為開發者等技術社區專家。

目錄
第1章  倉頡編程語言初體驗
  1.1  歡迎進入倉頡編程語言世界
    1.1.1  倉頡特性
    1.1.2  高效編程
    1.1.3  安全可靠
    1.1.4  輕鬆併發
    1.1.5  卓越性能
  1.2  安裝倉頡編程語言
  1.3  搭建倉頡編程語言開發環境
  1.4  實戰:開發第一個倉頡編程語言應用「Hello World!」
  1.5  總結
  1.6  習題:開發「Hello World!」應用
第2章  通用編程概念
  2.1  變數與常量
    2.1.1  變數
    2.1.2  常量
  2.2  標識符與程序結構
    2.2.1  標識符
    2.2.2  程序結構
  2.3  函數
    2.3.1  定義函數
    2.3.2  函數參數
    2.3.3  函數返回值
  2.4  註釋
    2.4.1  單行註釋
    2.4.2  多行註釋
  2.5  流程式控制制
    2.5.1  分支
    2.5.2  循環
  2.6  實戰:猜數字遊戲
    2.6.1  輸入數字
    2.6.2  比較大小
    2.6.3  循環輸入
    2.6.4  運行效果
  2.7  結構類型
    2.7.1  定義struct類型
    2.7.2  創建struct實例
    2.7.3  mut函數
  2.8  總結
  2.9  習題:統計字元串的字元數
第3章  基本數據類型
  3.1  整數類型
    3.1.1  整數類型字面量
    3.1.2  字元位元組字面量
    3.1.3  整數類型支持的操作符
  3.2  浮點類型
    3.2.1  浮點類型字面量
    3.2.2  浮點類型支持的操作符
  3.3  布爾類型
    3.3.1  布爾類型字面量

    3.3.2  布爾類型支持的操作符
  3.4  字元類型
    3.4.1  字元類型字面量
    3.4.2  字元類型支持的操作符
  3.5  字元串類型
    3.5.1  字元串字面量
    3.5.2  插值字元串
    3.5.3  字元串類型支持的操作
  3.6  實戰:操作字元串
    3.6.1  構造
    3.6.2  查找
    3.6.3  拼接
    3.6.4  替換
  3.7  元組類型
    3.7.1  元組類型字面量
    3.7.2  元組類型的類型參數
  3.8  數組類型
    3.8.1  定義數組
    3.8.2  訪問數組
    3.8.3  修改數組
    3.8.4  數組的排序
    3.8.5  VArray
  3.9  區間類型
  3.10  Unit類型
  3.11  Nothing類型
  3.12  總結
  3.13  習題:將包含句號的句子轉換為單詞
第4章  類、介面及擴展
  4.1  類
    4.1.1  class定義
    4.1.2  this類型
    4.1.3  創建對象
    4.1.4  class的繼承
  4.2  介面
    4.2.1  介面定義
    4.2.2  介面繼承
    4.2.3  介面實現
    4.2.4  Any類型
  4.3  屬性
    4.3.1  屬性定義
    4.3.2  屬性使用
  4.4  子類型關係
  4.5  類型轉換
    4.5.1  數值類型之間的轉換
    4.5.2  Rune到UInt32和整數類型到Rune的轉換
    4.5.3  is和as操作符
  4.6  直接擴展
    4.6.1  擴展概述
    4.6.2  直接擴展
    4.6.3  介面擴展

  4.7  擴展訪問規則
    4.7.1  擴展的修飾符
    4.7.2  擴展的孤兒規則
    4.7.3  擴展的訪問和遮蓋
    4.7.4  擴展的導入和導出
  4.8  總結
  4.9  習題:面向對象的圖形
第5章  模式匹配
  5.1  模式概述
    5.1.1  枚舉類型
    5.1.2  Option類型
    5.1.3  常量模式
    5.1.4  通配符模式
    5.1.5  綁定模式
    5.1.6  tuple模式
    5.1.7  類型模式
    5.1.8  enum模式
    5.1.9  模式的嵌套組合
  5.2  refutable模式和irrefutable模式
  5.3  match
    5.3.1  含匹配值的match表達式
    5.3.2  沒有待匹配值的match表達式
  5.4  if-let
  5.5  while-let
  5.6  模式適用場景
  5.7  實戰:猜數字遊戲
    5.7.1  輸入數字
    5.7.2  比較大小
    5.7.3  循環輸入
    5.7.4  運行效果
  5.8  總結
  5.9  習題:「剪刀石頭布」遊戲
第6章  泛型
  6.1  泛型概述
  6.2  實戰:泛型函數
    6.2.1  全局泛型函數
    6.2.2  局部泛型函數
    6.2.3  泛型成員函數
    6.2.4  靜態泛型函數
  6.3  泛型介面
  6.4  泛型類
  6.5  實戰:泛型結構體
  6.6  泛型枚舉
  6.7  泛型類型的子類型關係
  6.8  類型別名
  6.9  泛型約束
  6.10  總結
  6.11  習題:動物發聲模擬器
第7章  集合類型
  7.1  集合類型概述

  7.2  實戰:使用ArrayList
    7.2.1  ArrayList擴容原理
    7.2.2  創建ArrayList
    7.2.3  訪問ArrayList成員
    7.2.4  修改ArrayList
    7.2.5  增加ArrayList的大小
  7.3  實戰:使用HashSet
    7.3.1  創建HashSet
    7.3.2  訪問HashSet成員
    7.3.3  修改HashSet
  7.4  實戰:使用HashMap
    7.4.1  創建HashMap
    7.4.2  訪問HashMap成員
    7.4.3  修改HashMap
  7.5  Iterable和Collections
  7.6  總結
  7.7  習題:名字的「漂亮度」
第8章  異常處理
  8.1  定義異常
    8.1.1  異常類
    8.1.2  Exception和Error的主要函數及其說明
  8.2  常見運行時異常
  8.3  實戰:拋出和處理異常
    8.3.1  拋出異常
    8.3.2  普通try表達式
    8.3.3  try-with-resources表達式
    8.3.4  多個異常處理
  8.4  使用Option
    8.4.1  模式匹配
    8.4.2  coalescing操作符「??」
    8.4.3  問號操作符「?」
    8.4.4  getOrThrow函數
  8.5  總結
  8.6  習題:「剪刀石頭布」遊戲的異常處理
第9章  包和模塊
  9.1  包概述
  9.2  包的聲明
  9.3  頂層聲明的可見性
  9.4  包的導入
    9.4.1  使用import語句導入其他包中的聲明或定義
    9.4.2  隱式導入core包
    9.4.3  使用import as對導入的名字重命名
    9.4.4  重導出一個導入的名字
  9.5  程序入口
  9.6  總結
  9.7  習題:帶傳參的「名字的『漂亮度』」
第10章  基礎I/O操作
  10.1  I/O流概述
    10.1.1  流的抽象
    10.1.2  輸入流

    10.1.3  輸出流
    10.1.4  數據流分類
  10.2  I/O節點流
    10.2.1  標準流
    10.2.2  文件流
  10.3  I/O處理流
    10.3.1  緩衝流
    10.3.2  字元串流
  10.4  實戰:讀寫文件
    10.4.1  準備文件資源
    10.4.2  讀取文件
    10.4.3  寫入文件
  10.5  總結
  10.6  習題:獲取文件元數據
第11章  函數式編程
  11.1  定義函數
    11.1.1  參數列表
    11.1.2  函數返回值類型
    11.1.3  函數體
  11.2  調用函數
  11.3  函數類型
    11.3.1  函數類型的常用示例
    11.3.2  函數類型的類型參數
    11.3.3  函數類型作為參數類型
    11.3.4  函數類型作為返回類型
    11.3.5  函數類型作為變數類型
  11.4  Lambda表達式
    11.4.1  Lambda表達式定義
    11.4.2  Lambda表達式調用
  11.5  閉包
  11.6  函數調用語法糖
    11.6.1  尾隨Lambda
    11.6.2  Flow表達式
    11.6.3  變長參數
  11.7  函數重載
    11.7.1  函數重載的類型
    11.7.2  函數重載決議
  11.8  const函數
  11.9  實戰:詞頻統計
    11.9.1  準備文件資源
    11.9.2  統計詞頻函數
    11.9.3  輸出詞頻函數
    11.9.4  讀取文件統計詞頻
  11.10  總結
  11.11  習題:刪除字元串中出現次數最少的字元
第12章  併發編程
  12.1  併發概述
    12.1.1  線程與併發
    12.1.2  併發與並行的區別
    12.1.3  倉頡線程模型

  12.2  創建線程
  12.3  訪問線程
    12.3.1  使用Future    12.3.2  訪問線程屬性
  12.4  終止線程
  12.5  同步機制
    12.5.1  原子操作
    12.5.2  可重入互斥鎖
    12.5.3  Monitor
    12.5.4  MultiConditionMonitor
    12.5.5  synchronized關鍵字
    12.5.6  線程局部變數ThreadLocal
  12.6  線程睡眠
  12.7  實戰:龜兔賽跑
    12.7.1  應用概述
    12.7.2  實現烏龜的邏輯
    12.7.3  實現兔子的邏輯
    12.7.4  線程執行
  12.8  總結
  12.9  習題:多窗口售票
第13章  宏編程
  13.1  實戰:宏的入門
    13.1.1  初始化應用
    13.1.2  定義宏
    13.1.3  定義main函數
  13.2  Tokens相關類型和quote表達式
    13.2.1  Token類型
    13.2.2  Tokens類型
    13.2.3  quote表達式和插值
  13.3  語法節點
    13.3.1  節點的解析
    13.3.2  節點的組成部分
    13.3.3  使用quote插值語法節點
  13.4  宏的實現
    13.4.1  非屬性宏
    13.4.2  屬性宏
    13.4.3  嵌套宏
  13.5  編譯、報錯與調試
    13.5.1  宏的編譯和使用
    13.5.2  並行宏展開
    13.5.3  diagReport報錯機制
    13.5.4  使用--debug-macro輸出宏展開結果
  13.6  宏包定義和導入
  13.7  內置編譯標記
    13.7.1  源碼位置
    13.7.2  條件編譯
    13.7.3  @FastNative
  13.8  實戰:快速冪的計算
    13.8.1  問題背景
    13.8.2  實現宏@power

    13.8.3  使用宏@power
  13.9  總結
  13.10  習題:多行dprint宏
第14章  網路編程
  14.1  網路編程概述
  14.2  Socket編程
    14.2.1  了解TCP
    14.2.2  了解Socket
    14.2.3  了解UDP
    14.2.4  TCP與UDP的區別
  14.3  實戰:創建TCP和UDP伺服器
    14.3.1  創建TCP伺服器
    14.3.2  創建UDP伺服器
  14.4  HTTP編程
    14.4.1  REST的定義
    14.4.2  REST設計原則
    14.4.3  REST成熟度模型
  14.5  實戰:構建HTTP服務
    14.5.1  構建Server實例
    14.5.2  註冊請求處理邏輯
    14.5.3  啟動伺服器
    14.5.4  運行
  14.6  總結
  14.7  習題:構建REST服務
第15章  CJPM包管理
  15.1  CJPM基本使用方法
  15.2  cjpm.toml配置文件說明
  15.3  實戰:CJPM入門
    15.3.1  創建項目目錄
    15.3.2  使用CJPM初始化項目
    15.3.3  使用CJPM運行項目
  15.4  總結
  15.5  習題:使用CJPM
第16章  自動化測試
  16.1  單元測試
    16.1.1  單元測試的概念
    16.1.2  std.unittest包
    16.1.3  實戰:編寫單元測試用例
  16.2  Mocking測試
    16.2.1  Mocking測試框架的概念
    16.2.2  std.unittest.mock包
    16.2.3  實戰:編寫Mocking測試用例
  16.3  基準測試
  16.4  總結
  16.5  習題:累加器的性能測試
第17章  綜合實戰1:實現KV資料庫
  17.1  KV資料庫概述
    17.1.1  KV資料庫的基本概念
    17.1.2  KV資料庫的特點
    17.1.3  KV資料庫的工作原理

    17.1.4  KV資料庫的應用場景
    17.1.5  常見的KV資料庫實現
  17.2  功能開發
    17.2.1  創建項目
    17.2.2  定義KeyValue介面
    17.2.3  實現KeyValue介面
  17.3  運行效果
  17.4  總結
  17.5  習題:實現KV資料庫
第18章  綜合實戰2:實現雪花演算法
  18.1  應用概述
    18.1.1  雪花演算法的整體設計
    18.1.2  雪花演算法的工作原理
    18.1.3  雪花演算法的特點
    18.1.4  雪花演算法的應用場景
    18.1.5  雪花演算法的優缺點
  18.2  功能開發
    18.2.1  創建項目
    18.2.2  定義Snowflake類的變數
    18.2.3  實現Snowflake構造函數
    18.2.4  實現Snowflake生成下一個ID函數
  18.3  運行效果
  18.4  總結
  18.5  習題:實現雪花演算法
第19章  綜合實戰3:實現HarmonyOS瀑布流
  19.1  應用概述
    19.1.1  在ArkTS應用中開發倉頡模塊
    19.1.2  在倉頡應用中使用ArkTS模塊
    19.1.3  操作ArkTS數據
    19.1.4  在ArkTS中操作倉頡對象
    19.1.5  瀑布流概述
  19.2  功能開發
    19.2.1  選擇創建新項目
    19.2.2  選擇模板
    19.2.3  配置項目信息
    19.2.4  自動生成工程代碼
    19.2.5  代碼實現
  19.3  運行效果
  19.4  總結
  19.5  習題:實現HarmonyOS瀑布流
附錄  關鍵字
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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