×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
仓颉语言程序设计(开发者成长丛书)

仓颉语言程序设计(开发者成长丛书)

1星价 ¥96.8 (7.5折)
2星价¥96.8 定价¥129.0
暂无评论
图文详情
  • ISBN:9787302606307
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:560
  • 出版时间:2024-07-01
  • 条形码:9787302606307 ; 978-7-302-60630-7

本书特色

仓颉语言融合了众多语言的优秀特性,优雅开放、全面易用,本书以通俗的文字介绍仓颉应用开发的核心知识,并详细剖析其特性。 ● 全面、分步、详细地讲解仓颉语言的基本语法和实例用法;● 配套14章教学课件、310个实例源代码,2个综合实战项目;● 案例丰富,注释详尽,带领读者实现从0到1的突破。 14章教学课件,310个示例源代码,2个综合实战项目!仓颉语言程序设计入门教程,详细讲解其基础语法和应用实例★仓颉语言作为一门面向全场景应用开发的通用编程语言,其多范式编程、领域易扩展等众多现代编程语言特性吸引了许多开发者。董昱老师很早参与到仓颉语言的内测,并且已经在仓颉语言社区贡献了很多开源代码。《仓颉语言程序设计》深入浅出地讲解仓颉语言的基本语法和实例用法,涵盖了大多数技术要点,推荐仓颉语言学习者和开发者阅读。 ——冯新宇,南京大学教授、华为编程语言实验室主任、仓颉编程语言总架构师 ★仓颉作为全新的通用编程语言,主动吸纳编程语言研究中*新的概念、理论和成果。同时,在将近一年的仓颉社区运营中,我们也在不断征求、讨论和融合内测参与者意见和建议,以期望能够以优良的语言特性来满足各种实际开发需求。本书定位于仓颉编程语言的入门书籍,比较详细地介绍了仓颉语言的基础语法和特性,推荐仓颉语言初学者和开发者阅读,同时建议读者能够投入到仓颉语言的开源社区中,共建仓颉语言的未来。 ——王学智,华为编程语言实验室仓颉编程语言项目经理 ★编程语言的发展是长期且缓慢的,但其规律有迹可循。编程语言将会沿着更有表现力的方向发展下去,仓颉语言的诞生顺应了这种趋势,融合了诸多新兴的编程理念,是着眼于未来的一门编程语言。董昱老师是51CTO首批参与仓颉语言内测的讲师,对仓颉语言的设计理念有很深的理解,希望本书能够为开发者打开仓颉语言这扇通往未来的门。 ——熊平,51CTO 创始人&CEO ★仓颉语言是华为自主研发的新一代编程语言,吸收了多范式编程、类型安全、轻量式并发等优秀特性,易学易用。董昱老师是仓颉语言的先行者,并且已经使用仓颉语言开展了包括神经网络在内的众多算法研究。本书凝结了董昱老师在实际开发过程中的许多经验和编程技巧,适合新手入门学习,也适合软件工程师将其作为工具书。 ——陈祖刚 博士,中国科学院空天信息创新研究院助力研究员 ★声明式编程、多范式编程、并发编程这三个理念影响了越来越多的开发者,已然成为趋势,逐渐被各大厂纳入新语言或新框架的设计中。仓颉语言在设计上兼具三者,回归编程人员的使用体验,更有openHarmony、HarmonyOS和openEuler作为应用平台,有机会快速成长。《仓颉语言程序设计》这本书将仓颉语言的特性做了详细剖析,是一本不可多得的匠心之作,建议开发者仔细研读,定会有满满的收获。 ——宋佳宸,51CTO VP & 鸿蒙技术社区创始人 ★自仓颉语言内测之日起,董昱老师就在仓颉语言的学习和研究上投入了饱满的热情。我经常看到董昱老师在内测群里讨论仓颉语言的技术知识点并分享典型实战案例,如今欣闻董昱老师将过去半年多的学习和研究成果集结成书。《仓颉语言程序设计》系统地讲解了仓颉语言的核心技术,并附以2048小游戏和博客网站两个实战项目,带领读者实现从0到1的突破。向所有仓颉语言学习者强烈推荐本书! ——张荣超,OpenHarmony项目群TSC(技术指导委员会)委员

内容简介

"本书定位于仓颉语言的入门教程,成体系深入浅出地介绍仓颉语言应用开发的基础知识和常用标准库的使用方法,面向所有对仓颉语言的爱好者。 本书分为14章。第1~5章为基础篇,介绍仓颉语言的基本数据类型和基础语法。第6~12章为了提高篇,介绍自定义数据类型、集合类型的基本用法,面向对象编程、函数式编程等常用编程范式,以及文件读写和网络编程的基础知识。第13~14章为应用篇,介绍跨语言互操作、序列化等技术,并通过2个实战项目(网络聊天室、2048小游戏和博客网站)来带领读者亲身体验仓颉项目开发的全过程。 书中包含了310个实例、3个完整的仓颉项目,使读者在掌握理论知识的基础上掌握应用开发的基本流程。书中所有代码示例均在模拟器或真机上通过测试。 每章都有相应的教学课件,并且在章节的结尾处设置了几个用于巩固知识的习题,可以作为大学计算机、软件专业相关课程的教材或参考书,也可作为仓颉语言应用开发工程师的参考书籍。 "

目录

基 础 篇 第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
展开全部

作者简介

董昱,华为开发者专家(HUAWEI Developer Experts)、仓颉语言社区讲师(Cangjie Commumity Speaker)、仓颉库开发者(Cangjie Library Developer),首批仓颉语言开发者,在软件和算法设计等方面具有丰富的经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航