news 2026/9/24 16:28:55

图解高效仓颉编程(EffectiveCangjieWithDiagrams)完整指南:12大章节100+实战示例,从零构建仓颉语言编程能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
图解高效仓颉编程(EffectiveCangjieWithDiagrams)完整指南:12大章节100+实战示例,从零构建仓颉语言编程能力

图解高效仓颉编程(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.cjomain文件是什么?它们是各章节的编译产物(.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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:23:42

Wand-Enhancer 上手记:一次本地补丁,免费解锁 WeMod 专业版

Wand-Enhancer 上手记:一次本地补丁,免费解锁 WeMod 专业版 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer …

作者头像 李华
网站建设 2026/9/24 16:21:41

基于 OpenSL ES 与 JNI 的 Android Native Audio 示例深度解析

示例工程移动开发 【免费下载链接】ndk-samples Android NDK samples with Android Studio 项目地址: https://gitcode.com/gh_mirrors/nd/ndk-samples 点击查看 免费下载 Native Audio 是 ndk-samples 仓库中一个以 C OpenSL ES 音频 API 为核心、通过 JNI 与 Jav…

作者头像 李华