仓颉编程快速上手

978-7-115-62471-0
作者: 刘玥张荣超
译者:
编辑: 单瑞婷

图书目录:

详情

本书通过丰富的示例和大量的练习,简明扼要地阐述了仓颉编程语言的基本知识和核心概念。全书共15章,涵盖起步、变量、简单的数据操作、流程控制之if表达式、流程控制之循环表达式、函数初级、面向对象编程、struct类型、enum类型和模式匹配、函数高级、基础Collection类型、泛型、包管理、扩展、数值和字符串操作等内容。其中,“面向对象编程”这一章详细讲解了一系列重要的概念,如类、对象、封装、继承、多态、重写、抽象类和接口等,并通过一个小型的课务管理项目对上述概念进行了深入阐释。本书适合希望快速上手仓颉编程语言的初学者阅读。

图书摘要

版权信息

书名:仓颉编程快速上手

ISBN:978-7-115-62471-0

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    刘 玥 张荣超

责任编辑 单瑞婷

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内 容 提 要

本书通过丰富的示例和大量的练习,简明扼要地阐述了仓颉编程语言的基本知识和核心概念。

全书共15章,涵盖起步、变量、简单的数据操作、流程控制之if表达式、流程控制之循环表达式、函数初级、面向对象编程、struct类型、enum类型和模式匹配、函数高级、基础Collection类型、泛型、包管理、扩展、数值和字符串操作等内容。其中,“面向对象编程”这一章详细讲解了一系列重要的概念,如类、对象、封装、继承、多态、重写、抽象类和接口等,并通过一个小型的课务管理项目对上述概念进行了深入阐释。

本书适合希望快速上手仓颉编程语言的初学者阅读。

作者简介

刘玥,九丘教育CEO,曾在高校任教十余年,具有丰富的课堂教学经验,尤其擅长讲授程序设计、算法类课程。

张荣超,九丘教育教学总监、华为开发者专家(HDE)、华为首届HarmonyOS开发者创新大赛最佳导师、OpenHarmony项目群技术指导委员会(TSC)委员。

前  言

仓颉编程语言是华为完全自研的面向全场景应用开发的通用编程语言。作为一门新的编程语言,仓颉融合了众多现代编程语言的技术精髓。相信随着仓颉编程语言的不断发展,将会吸引更多的开发者加入仓颉编程语言的大家庭。

本书的作者作为首批受邀参与仓颉编程语言内测的人员,在对仓颉编程语言进行了系统且深入的学习和研究之后,借助于丰富的示例程序,力争做到通俗易懂、深入浅出地阐明仓颉编程语言的基础知识。

由于仓颉编程语言正处于不断完善的过程中,其版本和开发环境也处于快速更新迭代的阶段。自作者参与内测以来,几乎每个月都有一个新的版本更新,截至本书写作完毕,仓颉已更新至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章,“数值和字符串操作”:依次介绍了生成随机数据、通用的数学操作、格式化输出和字符串操作。

本书读者对象

本书面向对仓颉编程语言感兴趣的初学者。本书包含丰富的示例和练习,即使读者尚未接触过任何编程语言,也能在本书的悉心指引下,逐步顺畅地掌握仓颉编程语言的基础知识和核心概念。

资源与支持

资源获取

本书提供如下资源:

本书源代码;

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见下图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是shanruiting@ptpress.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

“异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域多年的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。

第1章 起步

1.1 关于仓颉

仓颉编程语言是华为自研的、面向应用层开发的通用编程语言。仓颉结合了众多现代编程语言的特色,不仅开发高效、性能卓越、功能强大、安全可靠,而且语法简洁、学习门槛低、易上手。仓颉是面向全场景应用开发的编程语言,具备广泛的应用前景。仓颉已经展现出强大的潜力,非常值得读者学习和深入探索,接下来,就让我们开启愉快的仓颉学习之旅吧!

1.2 搭建开发环境

仓颉目前正在经历快速更新迭代的阶段。为了确保读者能够顺利进行书中的操作,例如搭建开发环境等,作者提供了相关的视频教程。读者可以扫描下方的抖音或微信视频号二维码获取视频教程。如果读者在学习本书的过程中遇到任何问题,也可以通过下面的二维码联系我们。

抖音

微信视频号

1.3 我的第一个仓颉程序

为了测试开发环境,现在,让我们开始编写第一个仓颉程序。

首先,在仓颉工程文件夹的目录src下新建一个文件:hello_cangjie.cj。该文件的名称为hello_cangjie,扩展名为cj,表示这是一个仓颉源文件。接着,在hello_cangjie.cj中,输入以下代码,如代码清单1-1所示。

代码清单1-1 hello_cangjie.cj

01   main() {
02       println("你好,仓颉!")  // 输出字符串"你好,仓颉!"并换行
03   }

注意,代码中所有的有效字符都必须是半角的字符,例如“(”。在集成开发环境中编译并执行程序,输出结果为:

你好,仓颉!

这是一个最简单的仓颉程序,只包含一个main,main中只有一行代码。下面我们来解释一下这个程序的各个部分。

1.main

main是程序执行的入口。在编译并执行程序之后,系统自动从main开始执行花括号中的代码。如果在将仓颉源程序编译为可执行程序时缺少了main,就会引发编译错误。

一个不包含任何代码的main如下所示:

main() {}

在刚开始学习仓颉编程时,我们添加的大部分代码都是放在main中的。在向main中添加代码时,所有的代码要添加到main的一对花括号之间,并且最好能够遵循以下编程规范。

在左花括号之后换行。

换行之后输入代码。花括号中的所有代码作为一个整体,要有一个级别的缩进。一个级别的缩进一般是4个空格,对于UI等多层嵌套使用较多的情况,可以统一使用2个空格。

右花括号独占一行。

提示

作为刚刚接触编程的初学者,乍一看到这些编程规范,可能一时间不能很快适应,这是正常现象。只要在学习过程中仔细观察并学习示例程序,就可以很快掌握这些编程规范。

2.关键字

仓颉编程语言定义了 70 多个关键字,每个关键字在程序中都有特定的用途。例如,Bool被用于表示布尔类型,if被用于条件判断等。代码清单1-1中的main就是一个关键字。

3.字符串类型的字面量

程序中“具有明确数据类型的、固定的值”被称为字面量,例如,"你好,仓颉!‍"就是一个字符串类型的字面量。在程序中,文本内容可以使用字符串类型来表示。将文本内容使用一对半角的双引号括起来,就得到了一个字符串类型的字面量。以下是一些字符串类型的字面量的示例:

"业精于勤"
"Have a good day!"
"^_^"

4.println函数

在main中,只有一行代码:

println("你好,仓颉!")

在这行代码中,使用println函数将字符串"你好,仓颉!"输出到终端并且换行。为了提高编程效率,仓颉为我们定义了很多函数。在需要时,我们可以直接调用这些函数以实现特定的目标。如果需要向终端输出一些内容,可以将需要输出的内容放在println函数的一对圆括号内。例如,使用以下代码输出字面量18:

println(18)

5.注释

在println函数之后,有一行以“//”开头的文字,这是一个注释。注释是对代码的说明和对程序的解释。注释中的文字不是有效的代码。在编译并执行程序时,所有注释都会被系统忽略。

仓颉中的注释有两种:单行注释(//)和多行注释(/*…*/)。

单行注释使用“//”表示,“//”之后的内容即是注释的内容。单行注释不能跨越多行。在代码中,建议将单行注释放在相应代码的右侧或者上方。当单行注释放在代码右侧时,注释与代码之间至少需要留有一个空格。在代码清单1-1中,单行注释就被放在了代码的右侧。

当单行注释过长时,建议将注释放在代码上方,并且与代码保持同样级别的缩进。如果将代码清单1-1中的注释改为放在代码上方,那么该段代码可表示为:

main() {
    // 输出字符串"你好,仓颉!"并换行
    println("你好,仓颉!")
}

多行注释以“/*”开头,以“*/”结尾,“/*”和“*/”中间即是注释的内容,注释的内容可以跨越多行。对于多行注释,建议放在对应代码的上方,注释与代码保持一样的缩进级别。如果是文件头注释,那么建议放在文件开头,不使用缩进。

下面是一个文件头注释的示例,在仓颉源文件的开头添加了多行注释,其中列出了作者等信息:

/*
 * 作者:刘玥 张荣超
 * 抖音/微信视频号/微信公众号:九丘教育
 */
 
main() {
    println("你好,仓颉!")  // 输出字符串"你好,仓颉!"并换行
}

尽管注释不是有效的代码,但是注释可以很好地对程序进行解释和说明,是程序十分重要的组成部分。清晰、简洁的注释可以大大提高程序的可读性和可维护性。

提示

良好的编程习惯将使你受益终生,在编程时应该为需要说明的代码编写简明的注释。

练习

1.尝试将以上示例程序中的字符串修改为其他内容,编译并执行程序。

2.尝试在程序中添加各种注释。

本章需要达成的学习目标(目标完成后可在前面的方框中打勾)

安装仓颉集成开发环境,并测试能否正常运行。

通过一个简单的仓颉程序开始编程实践,了解仓颉程序运行的过程。

了解main的概念。

了解字符串、println函数的用法。

掌握两种注释的编写方式。

相关图书

Rust游戏开发实战
Rust游戏开发实战
深入浅出Go语言编程从原理解析到实战进阶
深入浅出Go语言编程从原理解析到实战进阶
JUnit实战(第3版)
JUnit实战(第3版)
Go语言编程指南
Go语言编程指南
Kafka实战
Kafka实战
Scala速学版(第3版)
Scala速学版(第3版)

相关文章

相关课程