图解高效仓颉编程(EffectiveCangjieWithDiagrams)完整指南:12大章节100+实战示例,从零构建仓颉语言编程能力
【免费下载链接】图解仓颉高效编程-吴京润本项目是《图解高效仓颉编程》的程序清单项目地址: https://gitcode.com/Cangjie-SIG/EffectiveCangjieWithDiagrams
图解高效仓颉编程程序清单仓库 EffectiveCangjieWithDiagrams 是《图解高效仓颉编程》一书的配套示例代码库,收录了12 大章节、100+ 个仓颉语言编程实战示例,覆盖从 Hello World 到并发、宏编程、Web 应用开发的完整学习路径。作者吴京润曾获"2024年度华为开发者卓越社区价值贡献奖""Cangjie Master""仓颉2024年度贡献之星"等奖项。无论你是刚接触仓颉语言(Cangjie)的新手,还是想系统补强编程能力的开发者,这份仓库都能帮你从零构建扎实的仓颉编程能力。
一、这个仓库是什么?
一句话:它是仓颉语言学习者的"可运行教科书"。每个章节(001~012)对应书中一章,目录下的.cj文件就是书中讲解的程序清单,可以直接编译运行验证。
| 目录 | 主题 | 核心内容 |
|---|---|---|
| 001 | 起步 | 第一个仓颉程序 |
| 002 | 数据类型 | 字符串、数组、Option、元组、Range |
| 003 | 控制流与函数 | if/for/while、闭包、管道、递归 |
| 004 | 面向对象 | 类、枚举、match、if-let、构造器 |
| 005 | 继承 | 密封类、继承体系(白雪公主示例) |
| 006 | 泛型 | 泛型推断、继承重载 |
| 007 | 异常处理 | try/catch/finally |
| 008 | 并发编程 | 线程、原子操作、互斥锁、线程局部 |
| 009 | 标准库实战 | 时间、加密(RSA/SM4)、URL、正则、进程 |
| 010 | 网络编程 | HTTP 服务器与客户端 |
| 011 | 高级特性 | 宏、AST、FFI、Python 互操作 |
| 012 | 综合实战 | MVC 架构 + MySQL 的收藏 Web 应用 |
| A | 附录:算法与设计模式 | 中介者、加权树、负载均衡 |
| B | 附录:I/O 与 Socket | 文件、路径、TCP/Unix Socket |
仓库使用cjc 0.53.4编译(见 cjpm.toml),每个含编译产物的章节都附带default.cjo等编译缓存文件,说明示例均经过实际编译验证。
二、快速上手:3步开始学习仓颉
第 1 步:克隆仓库
git clone https://gitcode.com/Cangjie-SIG/EffectiveCangjieWithDiagrams第 2 步:运行第一个示例
进入任意章节目录,用仓颉编译器运行源文件,例如:
cd 001 && cjc helloworld.cj && ./helloworld第 3 步:按章节顺序推进
建议严格跟随001 → 012的顺序学习,每一章的知识都是下一章的基础。
三、12大章节学习路线:从零到完整项目
1. 起步与数据类型(001–002)
从 001/helloworld.cj 的三行代码出发,掌握仓颉的基本语法风格;随后在 002 章中系统学习Option 空安全(option.cj、option_chain.cj)、数组切片、字符串插值与类型转换等高频技能,这些是仓颉新手最易踩坑的地方。
2. 控制流与函数(003)
003 章示例量最大,覆盖if/for/while全家族、闭包(closure.cj)、管道操作符(pipeline.cj)、递归与可变长参数。特别值得留意 func_limit.cj、overload_error.cj 这类"错误示例"——它们展示编译器如何帮你规避问题,是学习严格类型系统的绝佳素材。
3. 面向对象与模式匹配(004)
004 章是仓颉 OOP 的核心:类声明、属性(prop)、主构造器重载、enum,以及仓颉标志性的match 模式匹配(match.cj、match_enum.cj)。配套的 refutability.cj(可反驳模式)和 while_let.cj 演示了 Rust 风格的惯用写法。
4. 继承与泛型(005–006)
005/006 章用"白雪公主"故事构建角色继承体系(005/snow_white.cj):sealed密封类 +abstract抽象类,演示仓颉如何强制继承边界;006 章在此基础上引入泛型推断(generic_infer.cj)与继承中的重载规则,是理解仓颉类型系统的关键一关。
5. 异常处理(007)
从 007/try.cj 到catch2~catch7、finally.cj,用 10 个递进式示例讲透仓颉的异常体系,包括自定义异常类 007/BaseException.cj 与异常遮蔽(shadown.cj)等细节。
6. 并发编程(008)🔥
这是本仓库的精华章节之一:008/atomic_mutex.cj 对比AtomicInt64原子操作与ReentrantMutex互斥锁的性能差异;SyncQueue.cj 实现线程安全队列;dead_lock.cj、thread_thrown.cj 则演示死锁、线程抛异常等真实开发中的"翻车现场"。
7. 标准库实战(009)
009 章把仓颉标准库"拉满":时间与时长(time.cj、duration.cj)、安全加密(rsa.cj、sm4.cj、hmac.cj、digest.cj)、URL 编解码、正则、高精度十进制数,以及进程/子进程(process.cj、subprocess.cj),一章打通生产级常用能力。
8. 网络与 Web 服务(010–012)
- 010:010/server.cj 手写 HTTP 服务器,user_client.cj 实现对应客户端;
- 012:综合大作业——一个基于 MVC 架构的收藏网站(012/user/src/main.cj),包含 Controller/Service/DAO 分层(FavoriteController.cj)、JWT 鉴权(012/user/src/util/UserSession.cj)、MySQL FFI 驱动(mysqlclient_ffi.cjo)与自研宏注解(012/user/src/macros/macros.cj),详见 012/user/readme.md。
9. 进阶:宏、FFI 与互操作(011)
011 章面向进阶读者:宏编程(011/calculator.cj 用 AST 解析表达式、011/doc.cj 文档生成宏、独立宏模块 011/test_macro/)、C FFI(011/ffi.cj)、Python 互操作(011/python.cj)。学会这一章,你就掌握了仓颉与整个 C 生态互通的钥匙。
四、附录 A/B:设计模式与 I/O 补充
12 大章节之外的两个附录同样有料:
- A 章:中介者模式(A/mediator.cj)、加权树(A/weight_tree.cj)、负载均衡(A/load_balance.cj)、随机迭代器,用仓颉重写经典算法题;
- B 章:文件系统(B/fs.cj)、路径操作(B/path.cj)、properties 配置(B/properties.cj)、TCP/Unix Socket 实战(B/tcp_socket.cj)与 try-with-resource(B/try_with_resource.cj)。
五、新手常见问题(FAQ)
Q1:必须按顺序学吗?建议按001→012顺序推进。004 的类与 005 的继承、006 的泛型存在强依赖,跳章阅读容易卡壳。
Q2:仓库里的default.cjo、main文件是什么?它们是各章节的编译产物(.cjo为对象文件,main等为编译出的可执行文件),证明示例均实际编译通过;你只需关注.cj源码。
Q3:需要哪些环境依赖?仓颉工具链(cjc 0.53.4)+ 仓颉官方 VS Code 插件(工作区文件 cangjie.code-workspace 已配置推荐)。012 章实战示例额外需要 MySQL 环境。
六、总结:为什么选这个仓库学仓颉?
✅体系完整:12 章 + 2 附录,覆盖语言基础到企业级 Web 项目 ✅全部可运行:100+ 示例均附编译产物,即开即用 ✅难点全覆盖:Option 空安全、match、泛型、并发、宏,一个不缺 ✅循序渐进:从 3 行 Hello World 到 MVC 架构大作业,曲线平滑
现在打开终端,运行git clone https://gitcode.com/Cangjie-SIG/EffectiveCangjieWithDiagrams,从 001/helloworld.cj 出发,开始你的仓颉语言高效编程之旅吧!🚀
【免费下载链接】图解仓颉高效编程-吴京润本项目是《图解高效仓颉编程》的程序清单项目地址: https://gitcode.com/Cangjie-SIG/EffectiveCangjieWithDiagrams
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考