Lazy loaded image
技术分享
仓颉编程语言学习指南 上
Words 4920Read Time 13 min
2026-7-18
2026-7-18
type
Post
status
Published
date
Jul 18, 2026
slug
summary
仓颉编程语言学习指南 上
tags
开发
category
技术分享
icon
password

仓颉编程语言学习指南 上

仓颉(Cangjie)是华为为鸿蒙生态全新设计的编程语言,具备静态强类型、类型安全、现代语言特性与原生跨平台能力。本文档从零开始,系统讲解仓颉语言核心语法与进阶特性。

1. 语言简介与定位

什么是仓颉

仓颉编程语言(Cangjie Language)是华为自主研发的通用编程语言,主要服务于鸿蒙(HarmonyOS)生态,也可用于服务端、命令行工具等场景。

核心特性

特性说明静态强类型编译时类型检查,类型安全现代语法吸收了 Rust、Swift、Kotlin 等语言优点类型推断支持局部类型推断,减少冗余声明空安全内置 Option 类型,编译期消除空指针泛型完整的泛型系统模式匹配强大的 match 表达式并发轻量级线程(协程)与通道跨平台支持鸿蒙、Linux、Windows 等互操作可与 ArkTS、C/C++ 互调用值类型与引用类型struct(值类型)与 class(引用类型)并存

与其他语言的关系

仓颉是一门独立设计的语言,不是任何现有语言的方言或超集。它的语法风格接近现代编译型语言,如果你熟悉 Swift、Rust、Kotlin 中的任意一门,会感到很亲切。

2. 环境与项目结构

项目结构

Hello World

编译与运行

代码结构


3. 变量与常量

变量声明

常量声明

命名规则

var vs let 选择

原则:优先使用 let,只有需要修改的值才用 var。这能让代码更安全,也方便编译器优化。

4. 基本数据类型

整数类型

类型位数范围说明Int88-128 ~ 127有符号字节Int1616-32768 ~ 32767有符号短整型Int3232-2³¹ ~ 2³¹-1有符号整型Int6464-2⁶³ ~ 2⁶³-1默认整数类型UInt880 ~ 255无符号字节UInt16160 ~ 65535无符号短整型UInt32320 ~ 2³²-1无符号整型UInt64640 ~ 2⁶⁴-1无符号长整型Rune32Unicode 码点字符类型

浮点类型

类型位数精度说明Float1616~3位小数半精度(AI 场景)Float3232~7位小数单精度Float6464~15位小数默认浮点类型

布尔类型

类型转换

⚠️ 仓颉不做任何隐式类型转换。不同类型之间运算或赋值,必须显式转换。这是类型安全的基石。

5. 运算符

算术运算符

比较运算符

逻辑运算符

位运算符

赋值运算符

范围运算符

运算符优先级(从高到低)


6. 字符串

字符串基础

字符串操作

字符串遍历

字符串构建

字符串与数字转换


7. 控制流

if-else

match(模式匹配)

for 循环

while 循环

break 和 continue


8. 函数

函数定义

默认参数

命名参数

可变参数

函数作为值

函数重载

递归


9. 闭包与 Lambda

Lambda 表达式

闭包捕获

闭包作为参数

闭包与变量捕获语义


10. 数组

创建数组

访问与修改

数组遍历

数组高阶函数

不可变数组


11. 元组

基本使用

命名元组

函数返回多个值


12. 区间


13. 集合类型

ArrayList(动态数组)

HashSet(无序去重集合)

HashMap(键值映射)

集合选择指南

类型特点适用场景Array<T>有序、可重复、索引访问通用列表ArrayList<T>可变动态数组频繁增删的列表HashSet<T>无序、去重去重、快速查找HashMap<K,V>键值映射字典/映射LinkedList<T>双向链表频繁头尾插入

14. 枚举

基本枚举

关联值

枚举方法

枚举实现接口


上一篇
仓颉编程语言学习指南 下
下一篇
Swift UI教程(对比ArkUI)下

Comments
Loading...