
作者:张磊
页数:336
出版社:清华大学出版社
出版日期:2024
ISBN:9787302616597
高清校对版pdf(带目录)
前往页尾底部查看PDF电子书
内容简介
本书是面向仓颉语言初学者的入门书,包括入门篇、进阶篇和高级篇,共计27章。
入门篇(第1~7章),目标是零基础入门仓颉语言。从最简单的Hello World示例开始,先是讲解基本数据类型、变量、操作符等基础概念,然后讲解函数和流程控制,最后是综合应用示例,学习完本篇,读者就可以快速入门仓颉语言了。
进阶篇(第8~22章),目标是掌握仓颉语言基础知识。本篇按照循序渐进的原则讲解了核心的仓颉语言概念,包括类、接口、枚举、泛型等,还讲解了常用的基础类库用法及异常处理、包管理等内容。学习完本篇,读者就掌握了基本的仓颉语言开发技能。
高级篇(第23~27章),目标是学习初步的企业级开发知识,包括函数的高级用法、文件处理及并发处理,最后还介绍了仓颉编译器和调试器。本篇对于企业级开发比较基础,但对于初学者,还是有一定的难度的,学习掌握了本篇内容,就成为一个真正的仓颉语言开发者。
本书适合仓颉语言的初学者、大中院校的计算机相关专业的学生。及有一定开发经验,希望快速学习仓颉软件开发的开发者、对自主可控编程语言感兴趣的爱好者阅读。
作者简介
张磊,资深计算机专家,华为云HCDE,仓颉语言社区CLD和CCS荣誉称号获得者,著有《仓颉语言元编程》《鲲鹏架构入门与实战》《鲲鹏开发套件应用快速入门》等书,研究方向聚焦基础软件领域的自主可控和国产替代。
本书特色
本书践行“零基础入门仓颉语言”的核心理念,在书籍章节设计和内容编排上,具有以下的特点:
(1)内容通俗易懂,使用平白的文字介绍仓颉开发的相关知识,在介绍语言特性时,不仅只介绍特性本身,还会介绍为什么需要这种特性,能解决什么问题,帮助读者加深理解。
(2)知识点循序渐进,按照章节顺序学习即可,新知识点学习只依赖学过的内容,很少需要参考后续章节。
(3)丰富的代码示例,本书包含200个完整的示例代码,每段代码都针对书中知识点精心设计,按照《CangJie语言通用编程规范》编写,包括详细的代码注释和说明,均可以独立运行。
目录
第1章仓颉语言简介
1.1仓颉语言的由来
1.2仓颉语言的特点
第2章仓颉开发准备(12min)
2.1安装仓颉工具链
2.1.1Linux
2.1.2Windows
2.2安装VS Code及仓颉插件
2.3仓颉插件的使用
2.3.1仓颉项目结构
2.3.2语言插件的使用
第3章第一个仓颉程序(6min)
3.1运行Hello World程序
3.2仓颉程序基本规则
3.3仓颉程序的编译
第4章基本数据类型与操作符(21min)
4.1标识符与关键字
4.1.1标识符
4.1.2关键字
4.2变量
4.3基本数据类型
4.3.1整数类型
4.3.2浮点类型
4.3.3布尔类型
4.3.4字符类型
4.3.5字符串类型
4.3.6Unit类型
4.3.7元组类型
4.3.8区间类型
4.3.9Noting类型
4.4基本数据类型转换
4.4.1数值类型之间的转换
4.4.2Char和UInt32 之间的转换
4.4.3类型判断
4.5操作符
4.5.1算术操作符
4.5.2逻辑操作符
4.5.3位操作符
4.5.4关系操作符
4.5.5赋值操作符
4.5.6操作符的优先级
第5章函数(23min)
5.1函数的定义
5.2参数及函数调用
5.3返回值类型
5.4函数体
5.5嵌套函数(局部函数)
第6章流程控制(7min)
6.1条件表达式
6.2循环表达式
6.3match表达式
第7章入门综合实例
7.1开发需求
7.1.1斐波那契数列
7.1.2要解决的问题
7.2解决思路
7.2.1问题分析
7.2.2递归函数
7.3示例代码
进阶篇
第8章struct类型(19min)
8.1长方体引发的思考
8.2struct类型的定义
8.3成员变量
8.4构造函数
8.4.1普通构造函数
8.4.2主构造函数
8.4.3自动生成的无参构造函数
8.5成员函数
8.6可见修饰符
8.7实例的创建与访问
8.8mut函数
8.9成员属性
8.9.1属性的定义
8.9.2属性的使用
第9章class类型(12min)
9.1定义
9.2成员变量
9.3构造函数
9.3.1普通构造函数
9.3.2主构造函数
9.3.3自动生成的无参构造函数
9.4成员函数
9.5成员属性
9.6可见性修饰符
9.7对象
9.7.1对象的创建与访问
9.7.2对象值的修改
9.8抽象类
9.9继承
9.9.1继承的定义
9.9.2覆盖和重定义
9.9.3super关键字
9.9.4成员可见性
第10章enum类型
10.1enum类型的定义
10.2enum类型的值
10.3enum类型的使用
10.4有参构造器
第11章接口(10min)
11.1为什么需要接口
11.2接口的定义
11.3接口的实现
11.3.1接口的通常实现
11.3.2接口的默认实现
11.4接口的继承
11.5类型的多接口实现
11.6典型的内置接口
11.6.1Any类型
11.6.2ToString接口
第12章泛型(17min)
12.1什么是泛型
12.2泛型接口
12.3泛型函数
12.4泛型约束
12.5泛型类型
12.5.1泛型class
12.5.2泛型struct
12.5.3泛型enum
12.5.4区间类型
第13章包管理
13.1包的声明
13.2顶层声明的可见性
13.3包的导出和编译
13.4包的导入
13.4.1import语句导入
13.4.2导入重命名
第14章扩展(6min)
14.1扩展的定义
14.2泛型扩展
14.3接口扩展
第15章基础集合类型(8min)
15.1Array
15.1.1Array的定义
15.1.2访问Array
15.1.3修改Array
15.1.4Array的高级用法
15.1.5字节数组字面量
15.2ArrayList
15.2.1ArrayList的定义
15.2.2访问ArrayList
15.2.3修改ArrayList
第16章函数的进阶用法(20min)
16.1函数重载
16.1.1函数重载的定义
16.1.2函数重载决议
16.2函数遮盖
16.3操作符重载
16.3.1操作符重载的必要性
16.3.2操作符重载的定义
16.3.3索引操作符
16.3.4可以被重载的操作符
16.4函数是第一类对象
16.4.1什么是第一类对象
16.4.2函数类型的定义
16.4.3函数作为参数
16.4.4函数作为变量
16.4.5函数作为返回值
第17章类型关系
17.1多态
17.2子类型关系
17.2.1继承带来的子类型关系
17.2.2实现接口带来的子类型关系
17.2.3元组类型的子类型关系
17.2.4函数类型的子类型关系
17.2.5预设子类型关系
17.2.6传递性带来的子类型关系
17.2.7泛型类型的子类型关系
17.3类型转换
17.3.1is操作符
17.3.2as操作符
17.4类型别名
第18章异常
18.1异常的定义
18.2异常处理
18.3自定义异常
18.4Option值的解构
18.4.1getOrThrow()函数
18.4.2??操作符
第19章基础类库
19.1格式化库
19.1.1整型、浮点型类型
19.1.2字符类型
19.2Console类
19.2.1ConsoleReader
19.2.2ConsoleWriter
19.3Random类
19.4数学库
19.4.1常数
19.4.2函数
19.5转换库
19.6base64包
19.7hex包
19.8时间库
19.8.1Month枚举
19.8.2DayOfWeek枚举
19.8.3Duration类
19.8.4TimeZone
19.8.5DateTime
19.8.6时间格式
第20章字符及字符串处理
20.1字符处理
20.2字符串处理
20.2.1字符串转数组
20.2.2指定位置字符获取
20.2.3子字符串获取
20.2.4字符查找
20.2.5子字符串查找
20.2.6字符串修整
20.2.7字符串分隔
20.2.8字符串判断
20.2.9字符串连接
20.2.10字符串替换与反转
20.3猜数字小游戏
第21章高级集合类型(10min)
21.1Hashable接口
21.2HashSet集合
21.2.1HashSet的定义
21.2.2访问HashSet
21.2.3修改HashSet
21.2.4HashSet的容量和元素个数
21.3HashMap集合
21.3.1 HashMap的定义
21.3.2访问HashMap
21.3.3修改HashMap
21.3.4其他常用函数
21.3.5综合应用示例
第22章模式匹配
22.1match表达式
22.1.1pattern guard
22.1.2match表达式类型
22.2模式
22.2.1常量模式
22.2.2通配符模式
22.2.3变量模式
22.2.4元组模式
22.2.5类型模式
22.2.6枚举模式
高级篇
第23章函数的高级用法(19min)
23.1Lambda表达式
23.1.1Lambda表达式的定义
23.1.2Lambda表达式的返回值
23.1.3Lambda表达式的调用
23.2闭包
23.2.1闭包的定义
23.2.2捕获变量的状态
23.2.3可变变量的闭包
23.3函数调用语法糖
23.3.1尾随闭包
23.3.2管道表达式
23.3.3组合操作符
第24章并发(18min)
24.1仓颉线程
24.1.1线程睡眠函数sleep
24.1.2创建仓颉线程
24.1.3等待线程结束并获取返回值
24.2同步
24.2.1数据竞争
24.2.2原子操作
24.2.3互斥锁
24.2.4监视器
24.2.5synchronized关键字
第25章文件处理
25.1FileInfo
25.2File
25.3Directory
25.4文件读写示例
第26章仓颉编译器(14min)
26.1编译演示代码
26.2编译选项
26.3条件编译
26.3.1使用方式
26.3.2内置编译条件
26.3.3自定义编译条件
26.3.4多条件编译
第27章仓颉调试器(26min)
27.1仓颉调试器演示代码
27.2调试版本的编译
27.3启动调试的方式
27.4调试命令
27.4.1断点
27.4.2观察点
27.4.3启动
27.4.4执行
27.4.5变量
27.4.6退出
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.xiazainiu.com/Wd1qk_5_20900.html