描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115600752
华为仓颉编程不再神秘,图解式全彩入门图书,带你轻松看懂、学会
你,还在等什么?
仓颉编程入门图书,助你抢先一步掌握华为新语言的精髓
零基础、图解式教学,让你的编程学习一目了然、一帆风顺
全彩四色印刷,案例丰富基础,讲解通俗易懂,力争深入浅出
超值资源与服务大放送:
可完整运行的示例源代码
全彩印刷的知识脉络图、学习路径图
动态更新的仓颉新版本新技术视频
与作者交流活动的平台及答疑服务
仓颉编程语言是华为自研的面向全场景应用开发的通用编程语言。为了帮助广大的学习者系统地学习仓颉编程语言,我们倾力打造了图解仓颉编程系列图书。
本系列图书采用广受好评的图解方式,并借助丰富的示例程序,力争做到通俗易懂、深入浅出地阐明仓颉编程语言的相关知识。
本书是图解仓颉编程系列图书的基础篇,主要介绍了仓颉编程语言的基础知识,包括操作符、流程控制、函数、面向对象编程、模式匹配、泛型、基础 Collection 类型、扩展等。
《图解仓颉编程:基础篇》以图解的形式,通过丰富的示例和简明的图表,以通俗易懂的方式阐释了仓颉编程语言的核心基础 知识。
《图解仓颉编程:基础篇》共15章,包括仓颉编程语言概述、变量与基本数据类型、操作符、流程控制、函数、面向对象编程 (上)、面向对象编程(下)、enum 类型、模式匹配、函数高级特性、泛型、基础 Collection 类型、包管理、扩 展、标准库中包的应用。其中,“面向对象编程(上)”和“面向对象编程(下)”这两章涉及一系列重要的概 念,包括类、对象、封装、继承、多态、重写、抽象类和接口等,本书通过一个小型的电商项目贯穿这两章,详细阐明了这些概念。
《图解仓颉编程:基础篇》适合对仓颉编程语言感兴趣的初学者阅读。
第 1 章 仓颉编程语言概述 1
1.1 仓颉编程语言简介 2
1.2 我的第 一个仓颉程序: Hello World 3
1.2.1 开发环境搭建 3
1.2.2 Hello World 3
1.3 仓颉程序结构 5
第 2 章 变量与基本数据类型 7
2.1 变量的概念 8
2.2 变量的声明和使用 9
2.2.1 变量的声明 9
2.2.2 变量的使用 12
2.3 基本数据类型 14
2.3.1 整数类型 14
2.3.2 浮点类型 15
2.3.3 布尔类型 18
2.3.4 字符类型 18
2.3.5 字符串类型 19
2.3.6 元组类型 24
2.3.7 区间类型 26
2.3.8 Unit 类型 27
2.3.9 Nothing 类型 28
2.4 小结 28
第 3 章 操作符 31
3.1 概述 32
3.2 算术操作符 32
3.2.1 运算规则 33
3.2.2 算术运算对类型的要求 35
3.2.3 类型推断 36
3.2.4 数值类型的类型转换 37
3.3 自增和自减操作符 38
3.4 关系操作符 39
3.4.1 运算规则 39
3.4.2 数值类型的关系运算 40
3.4.3 字符类型及字符串类型的关系运算 40
3.4.4 布尔类型及 Unit 类型的关系运算 41
3.5 逻辑操作符 42
3.6 位操作符 43
3.7 赋值操作符和复合赋值操作符 45
3.7.1 赋值操作符 45
3.7.2 复合赋值操作符 46
3.8 操作符的优先级和结合性 46
3.9 小结 47
第 4 章 流程控制 49
4.1 概述 50
4.2 顺序结构 52
4.3 分支结构 53
4.3.1 单分支的 if 表达式 53
4.3.2 双分支的 if 表达式 55
4.3.3 嵌套的 if 表达式 56
4.4 循环结构 61
4.4.1 while 表达式 62
4.4.2 do-while 表达式 65
4.4.3 for-in 表达式 68
4.4.4 break 表达式 72
4.4.5 continue 表达式 73
4.4.6 循环的嵌套 74
4.5 各种流程控制表达式的类型 76
4.5.1 if 表达式的类型 76
4.5.2 其他流程控制表达式的类型 78
4.6 小结 79
第 5 章 函数 81
5.1 函数的概念 82
5.2 函数的定义 82
5.2.1 函数定义的方式 82
5.2.2 函数参数 83
5.2.3 函数体 84
5.2.4 函数返回值 86
5.3 函数的调用和执行 87
5.3.1 函数调用的方式 87
5.3.2 参数传递 87
5.3.3 函数调用的执行过程 90
5.4 变量的作用域 92
5.4.1 全局变量的作用域 92
5.4.2 局部变量的作用域 93
5.4.3 同名变量 95
5.5 函数的重载 96
5.6 递归函数 97
5.7 小结 100
第 6 章 面向对象编程(上) 101
6.1 概述 102
6.2 类的定义和对象的创建 102
6.2.1 成员变量 105
6.2.2 成员函数 109
6.2.3 构造函数 110
6.2.4 成员访问 114
6.2.5 类是引用类型 116
6.2.6 组织代码 118
6.3 封装 120
6.3.1 访问控制 121
6.3.2 成员属性 123
6.4 继承 126
6.4.1 定义并继承父类 127
6.4.2 重写和重定义 135
6.5 多态 141
6.5.1 子类型天然是父类型 141
6.5.2 通过继承实现多态 142
6.6 使用组合实现代码复用 145
6.7 struct 类型 147
6.8 小结 151
第 7 章 面向对象编程(下) 153
7.1 抽象类 154
7.1.1 通过抽象函数和抽象类实现多态 155
7.1.2 抽象类及其成员 156
7.1.3 抽象类的继承规则 159
7.2 接口 161
7.2.1 通过接口实现多态 161
7.2.2 定义和实现接口 164
7.2.3 接口的默认实现 168
7.2.4 接口的继承 171
7.2.5 Any 类型 173
7.2.6 面向接口编程示例 174
7.3 子类型关系 178
7.4 小结 179
第 8 章 enum 类型 181
8.1 概述 182
8.2 enum 类型的定义 182
8.3 enum 值的创建 183
8.4 enum 值的模式匹配 184
8.5 Option 类型 186
8.5.1 Option 类型的定义 186
8.5.2 Option 值的创建 186
8.5.3 Option 值的解构 188
8.5.4 使用 as 操作符进行类型转换 191
8.5.5 Option 类型使用示例 194
8.6 小结 198
第 9 章 模式匹配 201
9.1 概述 202
9.2 match 表达式 202
9.2.1 包含待匹配值的 match 表达式 202
9.2.2 不含待匹配值的 match 表达式 204
9.2.3 match 表达式的类型 206
9.3 模式 208
9.3.1 常量模式 208
9.3.2 通配符模式 209
9.3.3 绑定模式 209
9.3.4 类型模式 210
9.3.5 元组模式 211
9.3.6 枚举模式 212
9.3.7 模式的 Refutability 214
9.4 模式的其他用法 216
9.4.1 在变量声明中使用 irrefutable 模式 216
9.4.2 在 for-in 表达式中使用 irrefutable 模式 217
9.4.3 在 if-let 表达式中使用模式 218
9.4.4 在 while-let 表达式中使用模式 220
9.5 小结 221
第 10 章 函数高级特性 223
10.1 函数是“一等公民” 224
10.1.1 函数类型 224
10.1.2 函数作为变量值 225
10.1.3 函数作为实参 226
10.1.4 函数作为返回值 227
10.2 lambda 表达式 228
10.2.1 lambda 表达式的定义 228
10.2.2 lambda 表达式的使用 229
10.2.3 注意事项 231
10.3 嵌套函数 233
10.4 闭包 236
10.4.1 闭包的概念 236
10.4.2 闭包的工作原理和特点 238
10.4.3 使用限制和注意事项 241
10.5 函数重载决议 243
10.6 操作符重载函数 245
10.6.1 操作符重载的规则 245
10.6.2 操作符重载函数的定义和使用 246
10.7 mut 函数 248
10.7.1 struct 中的 mut 函数 249
10.7.2 interface 中的 mut 函数 250
10.7.3 mut 函数的使用限制 251
10.8 函数类型的子类型关系 252
10.9 调用函数时的语法糖 253
10.9.1 尾随 lambda 254
10.9.2 flow 表达式 254
10.9.3 变长参数 256
10.10 小结 258
第 11 章 泛型 259
11.1 概述 260
11.2 泛型函数 261
11.3 泛型类型 263
11.3.1 泛型 class 263
11.3.2 泛型 struct 265
11.3.3 泛型 enum 266
11.3.4 泛型 interface 267
11.3.5 泛型类型的子类型关系 268
11.3.6 类型别名 269
11.4 泛型约束 270
11.5 泛型接口应用示例 273
11.5.1 泛型接口 Equatable 273
11.5.2 泛型接口 Comparable 275
11.6 小结 278
第 12 章 基础 Collection 类型 279
12.1 概述 280
12.2 Array 280
12.2.1 Array 的创建 280
12.2.2 Array 元素的访问 282
12.2.3 Array 元素的修改 286
12.2.4 Array 是引用类型 290
12.3 ArrayList 291
12.3.1 ArrayList 的创建 291
12.3.2 ArrayList 元素的访问和修改 292
12.3.3 ArrayList 元素的添加和删除 294
12.3.4 ArrayList 的容量管理 300
12.4 HashSet 303
12.4.1 HashSet 的创建 304
12.4.2 HashSet 元素的访问 305
12.4.3 HashSet 元素的添加和删除 307
12.5 HashMap 309
12.5.1 HashMap 的创建 310
12.5.2 HashMap 元素的访问 311
12.5.3 HashMap 元素的修改和添加 314
12.5.4 HashMap 元素的删除 316
12.6 接口 Iterable 和 Iterator 317
12.7 用于 Collection 操作的高阶函数 321
12.8 小结 324
第 13 章 包管理 327
13.1 概述 328
13.2 包的声明 329
13.3 顶层声明的可见性 329
13.3.1 顶层声明的默认可见性 329
13.3.2 顶层声明的 public 可见性 330
13.4 顶层声明的导入 333
13.4.1 使用 import 导入其他包中的 public 顶层声明 333
13.4.2 使用 import as 重命名 338
13.4.3 使用 public import 对导入的顶层声明重导出 339
13.5 小结 340
第 14 章 扩展 343
14.1 概述 344
14.2 直接扩展 344
14.3 接口扩展 347
14.4 扩展的导出和导入 351
14.4.1 直接扩展的导出和导入 351
14.4.2 接口扩展的导出和导入 353
14.5 小结 356
第 15 章 标准库中包的应用 359
15.1 概述 360
15.2 生成随机数据 360
15.2.1 生成各种类型的随机数据 360
15.2.2 生成指定范围内的随机整数 361
15.2.3 复现随机数据 362
15.2.4 生成随机数组 362
15.3 通用的数学操作 364
15.4 格式化输出 366
15.5 字符串操作 370
15.6 小结 380
评论
还没有评论。