仓颉编程语言是华为完全自研的面向全场景应用开发的通用编程语言。作为一门新的编程语言,仓颉融合了众多现代编程语言的技术精髓。相信随着仓颉编程语言的不断发展,将会吸引更多的开发者加入仓颉编程语言的大家庭。
本书的作者作为首批受邀参与仓颉编程语言内测的人员,在对仓颉编程语言进行了系统且深入的学习和研究之后,借助于丰富的示例程序,力争做到通俗易懂、深入浅出地阐明仓颉编程语言的基础知识。
由于仓颉编程语言正处于不断完善的过程中,其版本和开发环境也处于快速更新迭代的阶段。自作者参与内测以来,几乎每个月都有一个新的版本更新,截至本书写作完毕,仓颉已更新至0.51.4版本(2024年5月7日发布)。为了确保读者能够顺利搭建好仓颉开发环境并实操书中的示例,本书提供了相应的引导教学视频,欢迎广大读者关注抖音或微信视频号“九丘教育”获取视频教程。之后针对仓颉,作者会在第一时间通过抖音、微信视频号、微信公众号、B站等平台同步持续更新相关内容,请读者搜索“九丘教育”了解详情。
另外,由于成书时间紧张以及作者水平有限,书中难免有错漏,恳请各位读者批评、指正。欢迎各位读者通过本书提供的各种联系方式与作者交流。
在本书的编写过程中,获得了华为编程语言实验室的大力支持,感谢为本书提供了帮助的全体工作人员。感谢人民邮电出版社的编辑傅道坤先生和单瑞婷女士为本书的顺利出版提供的鼎力支持和宝贵建议。最后,还要向阅读拙作的读者们表示衷心的感谢!
本书分为15章,主要内容介绍如下。
第1章,“起步”:主要介绍了第一个仓颉程序的编程实践。
第2章,“变量”:主要介绍了变量的声明,以及变量的使用。
第3章,“简单的数据操作”:首先介绍了存储数值的数据类型,然后介绍了存储字符的数据类型,最后介绍了其他几种数据类型。
第4章,“流程控制之if表达式”:主要介绍了条件测试、单分支的if表达式、双分支的if表达式和嵌套的if表达式。
第5章,“流程控制之循环表达式”:主要介绍了do-while表达式、while表达式、for-in表达式和循环表达式的嵌套。
第6章,“函数初级”:首先介绍了函数的定义和调用,然后介绍了函数的重载,最后介绍了变量的作用域。
第7章,“面向对象编程”:首先介绍了类的定义和对象的创建,然后详细介绍了面向对象编程的三大特征——封装、继承和多态,最后介绍了抽象类和接口的用法。
第8章,“struct类型”:首先介绍了struct类型的定义和struct实例的创建,然后介绍了struct类型和class类型的区别。
第9章,“enum类型和模式匹配”:先介绍了enum类型的定义和enum值的创建,再介绍了对enum值进行模式匹配的2种match表达式,接着介绍了6种模式及其Refutability,然后介绍了如何在变量声明、for-in表达式、if-let表达式和while-let表达式中使用模式,最后介绍了Option类型这一常见的enum类型。
第10章,“函数高级”:主要介绍了函数的一些高级特性,具体包括函数作为“一等公民”的用法、lambda表达式的定义和使用、嵌套函数和闭包的用法、如何进行函数重载决议、操作符重载函数的定义和使用、mut函数在struct和interface中的用法等。
第11章,“基础Collection类型”:详细介绍了仓颉的4种基础Collection类型——Array、ArrayList、HashSet和HashMap,其主要用法包括实例的创建和元素的增删改查操作等。
第12章,“泛型”:首先介绍了泛型类型及其泛型约束,然后介绍了泛型函数及其泛型约束。
第13章,“包管理”:首先介绍了如何在仓颉源文件中声明包,然后介绍了顶层声明的两种可见性,最后介绍了顶层声明的导入。
第14章,“扩展”:首先介绍了扩展的2种方式——直接扩展和接口扩展,然后介绍了这两种扩展的导出和导入规则。
第15章,“数值和字符串操作”:依次介绍了生成随机数据、通用的数学操作、格式化输出和字符串操作。
本书面向对仓颉编程语言感兴趣的初学者。本书包含丰富的示例和练习,即使读者尚未接触过任何编程语言,也能在本书的悉心指引下,逐步顺畅地掌握仓颉编程语言的基础知识和核心概念。