书籍详情

仓颉语言程序设计

仓颉语言程序设计

作者:董昱

出版社:清华大学出版社

出版时间:2024-07-01

ISBN:9787302606307

定价:¥129.00

购买这本书可以去
内容简介
  本书定位于仓颉语言的入门教程,成体系深入浅出地介绍仓颉语言应用开发的基础知识和常用标准库的使用方法,面向所有对仓颉语言的爱好者。本书分为14章。第1~5章为基础篇,介绍仓颉语言的基本数据类型和基础语法。第6~12章为了提高篇,介绍自定义数据类型、集合类型的基本用法,面向对象编程、函数式编程等常用编程范式,以及文件读写和网络编程的基础知识。第13~14章为应用篇,介绍跨语言互操作、序列化等技术,并通过2个实战项目(网络聊天室、2048小游戏和博客网站)来带领读者亲身体验仓颉项目开发的全过程。书中包含了310个实例、3个完整的仓颉项目,使读者在掌握理论知识的基础上掌握应用开发的基本流程。书中所有代码示例均在模拟器或真机上通过测试。每章都有相应的教学课件,并且在章节的结尾处设置了几个用于巩固知识的习题,可以作为大学计算机、软件专业相关课程的教材或参考书,也可作为仓颉语言应用开发工程师的参考书籍。
作者简介
  董昱,华为开发者专家(HUAWEI Developer Experts)、仓颉语言社区讲师(Cangjie Commumity Speaker)、仓颉库开发者(Cangjie Library Developer),首批仓颉语言开发者,在软件和算法设计等方面具有丰富的经验。
目录
基  础  篇
第1章  认识新朋友——仓颉语言 3
1.1  伟大的里程碑——仓颉语言的诞生 3
1.1.1  编程语言简述 4
1.1.2  仓颉语言的历史机遇 5
1.1.3  仓颉语言的基本特性 6
1.2  仓颉语言的开发环境 10
1.2.1  编译环境的搭建 11
1.2.2  编辑环境的搭建 25
1.2.3  调试环境的搭建 28
1.3  本章小结 28
1.4  习题 29
第2章  仓颉语言初体验——仓颉语言的基本语法 30
2.1  你好,仓颉! 30
2.1.1  第1个仓颉程序 31
2.1.2  仓颉语言的开发流程 33
2.1.3  语句和语句块 36
2.1.4  注释 38
2.2  变量和数据类型 38
2.2.1  变量与数据类型 39
2.2.2  通过整型学习变量的基本使用方法 42
2.2.3  浮点型的基本使用方法 44
2.2.4  变量的作用域 46
2.3  数值运算 47
2.3.1  操作符和表达式 47
2.3.2  整型的数值运算 48
2.3.3  浮点型的数值运算 51
2.3.4  数值的类型转换 52
2.3.5  复合表达式和括号表达式 53
2.3.6  数值运算实例演练 55
2.4  使用VSCode开发仓颉程序 57
2.5  本章小结 59
2.6  习题 59
第3章  结构化编程——条件结构与循环结构 61
3.1  逻辑运算与关系运算 61
3.1.1  布尔类型 61
3.1.2  逻辑运算 62
3.1.3  关系运算 64
3.2  if表达式 66
3.2.1  if结构 67
3.2.2  if-else结构 68
3.2.3  if表达式的嵌套和else if结构 70
3.2.4  if表达式的值 74
3.3  match表达式与枚举类型 76
3.3.1  match表达式 76
3.3.2  枚举类型enum 84
3.3.3  枚举类型的带参构造器 88
3.4  循环结构 91
3.4.1  区间类型和for in表达式 91
3.4.2  阶乘与复合赋值表达式 94
3.4.3  while表达式 96
3.4.4  do...while表达式 97
3.4.5  死循环 98
3.4.6  循环终止:break和continue 99
3.4.7  循环嵌套 101
3.5  本章小结 102
3.6  习题 103
第4章  让源代码整齐易读——函数与模块化 105
4.1  函数 106
4.1.1  函数的定义和调用 106
4.1.2  函数的参数 110
4.1.3  命名参数的用法 113
4.1.4  函数的返回 115
4.1.5  使用元组模拟函数的多返回值 118
4.1.6  使用Option作为函数的返回值 120
4.1.7  主函数的返回值 123
4.2  函数的递归和重载 124
4.2.1  函数的递归 124
4.2.2  函数的重载 126
4.3  组织源代码 128
4.3.1  多文件编译 129
4.3.2  包 131
4.3.3  模块 135
4.3.4  库 138
4.4  math标准库 139
4.4.1  常数 139
4.4.2  常用数学函数 142
4.5  本章小结 144
4.6  习题 144
第5章  处理文本——字符与字符串 145
5.1  字符和字符编码 145
5.1.1  字符集和字符编码 146
5.1.2  字符 147
5.1.3  字符串 150
5.2  操作字符串 153
5.2.1  字符串的长度和索引 153
5.2.2  字符串的关系运算 156
5.2.3  字符串的包含关系 157
5.2.4  裁剪和连接 158
5.2.5  字符串的高级操作 160
5.2.6  Unicode标准库 162
5.3  字符串的类型转换 166
5.3.1  字符串类型转换的基本思路 166
5.3.2  格式化转换 167
5.3.3  字符串型转其他类型 172
5.4  字符和码点值的转换 174
5.5  基本数据类型大家庭 175
5.5.1  Unit和Nothing 175
5.5.2  基本数据类型小结 176
5.6  本章小结 177
5.7  习题 178
     
提  高  篇
第6章  虚拟的小宇宙——面向对象编程 181
6.1  封装 182
6.1.1  类与对象 183
6.1.2  构造函数 189
6.1.3  静态成员 193
6.1.4  属性 197
6.2  继承 203
6.2.1  类的继承 203
6.2.2  重写和重定义 205
6.2.3  成员的可见修饰符 213
6.2.4  单例类 215
6.2.5  转型 216
6.3  多态 218
6.3.1  通过继承和重写实现多态 219
6.3.2  抽象类 220
6.4  接口和扩展 222
6.4.1  接口 222
6.4.2  通过接口实现多态 227
6.4.3  扩展 228
6.4.4  组合优于继承 231
6.5  本章小结 233
6.6  习题 233
第7章  类型的故事——记录与类型系统 234
7.1  记录类型 234
7.1.1  记录及其构造函数 235
7.1.2  记录的实例 237
7.1.3  记录的成员函数与mut关键字 238
7.1.4  静态成员 240
7.1.5  成员的可见修饰符 242
7.2  值类型与引用类型 244
7.3  关于数据类型的高级操作 246
7.3.1  再探接口与Any类型 247
7.3.2  子类型关系 250
7.3.3  类型判断 251
7.3.4  类型转换 253
7.3.5  类型别名 255
7.4  泛型 255
7.4.1  泛型的基本用法 256
7.4.2  泛型约束 262
7.5  本章小结 265
7.6  习题 265
第8章  同类数据排排队——集合类型 266
8.1  有序集合类型 267
8.1.1  列表 267
8.1.2  数组 274
8.1.3  缓冲区 277
8.1.4  将字符串转换为数组 281
8.1.5  多维有序集合 282
8.2  无序集合类型 284
8.2.1  HashSet 285
8.2.2  HashMap 290
8.3  迭代器 294
8.4  本章小结 296
8.5  习题 296
第9章  读写文件——异常处理与输入输出 298
9.1  异常处理 298
9.1.1  异常 299
9.1.2  捕获异常 299
9.1.3  抛出异常 304
9.1.4  自定义异常 307
9.2  使用Result和Option处理异常 308
9.2.1  使用Result承载异常 308
9.2.2  Option抛出异常 312
9.3  输入与输出 313
9.3.1  文件信息类和目录信息类 314
9.3.2  字符流 315
9.3.3  文件流 321
9.4  位运算与文本文件的读写 327
9.4.1  位运算 327
9.4.2  读写文本文件 332
9.5  标准输入和正则表达式 337
9.5.1  标准输入 337
9.5.2  正则表达式的基本用法 338
9.5.3  模拟用户登录 343
9.6  本章小结 345
9.7  习题 345
第10章  用数学思维来编程——函数式编程 347
10.1  函数类型及其用法 347
10.1.1  函数类型 348
10.1.2  Lambda表达式 350
10.1.3  闭包 352
10.1.4  嵌套函数 354
10.2  函数式编程 355
10.2.1  函数式编程中的函数和变量 355
10.2.2  柯里化与链式调用 356
10.2.3  高阶函数 362
10.3  泛型函数 366
10.4  尾随闭包 369
10.5  再探重载 372
10.5.1  函数重载的高级规则 372
10.5.2  操作符重载 376
10.6  本章小结 382
10.7  习题 382
第11章  让程序多姿多彩——并发和网络编程 383
11.1  并发 383
11.1.1  仓颉线程的创建 384
11.1.2  通过Future实现线程等待 387
11.2  并发的同步机制 389
11.2.1  互斥锁 391
11.2.2  原子操作 398
11.3  Socket通信 404
11.3.1  使用Socket通信 404
11.3.2  群聊应用程序 410
11.4  HTTP服务器和客户端 416
11.4.1  HTTP服务器 416
11.4.2  处理HTTP请求 423
11.4.3  HTTP客户端 433
11.4.4  Cookie和CookieJar 436
11.5  本章小结 442
11.6  习题 442
第12章  关于编程的编程——元编程 443
12.1  词法分析和语法分析 443
12.1.1  词法分析和词法单元 443
12.1.2  词法单元 445
12.1.3  词法单元序列 446
12.1.4  quote表达式 447
12.1.5  抽象语法树 449
12.2  宏 454
12.2.1  非属性宏 455
12.2.2  属性宏 459
12.2.3  宏展开 460
12.3  本章小结 461
12.4  习题 461
     
应  用  篇
第13章  跨语言互操作和2048小游戏 465
13.1  跨语言互操作 465
13.1.1  仓颉语言和C语言的类型映射关系 465
13.1.2  仓颉语言调用C语言函数 466
13.1.3  跨语言调用的高级用法 473
13.1.4  OS库的简单应用 475
13.2  随机数的生成和时间操作 480
13.3  2048小游戏 486
13.3.1  项目需求 486
13.3.2  实现思路 487
13.3.3  具体实现 488
13.4  本章小结 502
13.5  习题 502
第14章  用仓颉语言搭建博客网站 503
14.1  JSON数据与序列化 503
14.1.1  JSON数据的处理 504
14.1.2  序列化和反序列化 511
14.2  搭建博客网站 517
14.2.1  项目需求 517
14.2.2  用户界面层 519
14.2.3  数据访问层 524
14.2.4  业务逻辑层 529
14.3  本章小结 534
14.4  习题 534
附录A  仓颉语言中的关键字 535
附录B  仓颉语言的顶层定义 536
附录C  操作符及其优先级 537
附录D  标准库 539
附录E  TokenKind枚举 540   
IV
V
 
 
猜您喜欢

读书导航