近年来,随着中国在基础软件与信息技术自主可控领域的不断推进,华为推出了自研编程语言——仓颉语言(Cangjie)。仓颉语言不仅仅是一个编程工具,它代表着中国在计算机编程领域自主创新的重要一步。作为一门面向未来的通用型编程语言,仓颉语言在设计理念、语法体系、安全性以及生态建设等方面均有其独特优势。本文将带你从仓颉语言的入门知识出发,逐步深入学习其编程实践,最终达到精通水平。
背景
设计理念
语法特性
性能特性
生态兼容性
环境搭建
第一个程序:Hello, World!
fn main() {
print("Hello, World!");
}
fn 表示函数定义。print() 为标准输出函数。main 为程序入口。fn main() {
let x: int = 10;
let y: float = 3.14;
let name: string = "Cangjie";
print(x, y, name);
}
let 定义不可变变量,var 定义可变变量。fn main() {
let score: int = 85;
if (score >= 60) {
print("及格");
} else {
print("不及格");
}
for i in 0..5 {
print(i);
}
}
fn add(a: int, b: int): int {
return a + b;
}
fn main() {
let result = add(5, 7);
print(result);
}
class Person {
var name: string;
var age: int;
fn new(name: string, age: int): Person {
return Person { name, age };
}
fn introduce(self) {
print("我是", self.name, ",今年", self.age, "岁。");
}
}
fn main() {
let p = Person::new("小华", 25);
p.introduce();
}
class 定义类。new。self 引用对象自身。内存安全机制
use io;
fn main() {
let content = io::read_file("test.txt");
print(content);
io::write_file("output.txt", "仓颉语言学习记录");
}
use net;
fn main() {
let response = net::http_get("https://haiyong.site");
print(response.status);
print(response.body);
}
fn worker(id: int) {
for i in 0..3 {
print("线程", id, "执行", i);
}
}
fn main() {
spawn worker(1);
spawn worker(2);
}
spawn 启动新线程。从入门到精通仓颉语言,不仅是学习一门新编程语言的过程,更是参与中国自主软件生态建设的机会。作为开发者,我们需要不断学习、实践、探索,推动仓颉语言在更多场景中落地应用。无论你是编程初学者,还是有多年经验的工程师,掌握仓颉语言都将为你的职业发展增添强大助力。
《华为仓颉语言编程:从入门到精通》

【内容简介】
华为自研的仓颉语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现,以及开箱即用的工具链支持,为开发者打造了友好的开发体验和卓越的程序性能。
本书循序渐进地讲解了仓颉语言的核心知识,并通过具体实例的实现过程演练了开发仓颉语言程序的关键方法和流程。全书共 19 章,分别讲解了从仓颉语言的基础语法、数据结构、面向对象编程、网络编程到多线程与并发处理等内容,最后通过实战项目——圆角图片视图库的开发,系统展示了仓颉语言的核心语法知识和实际应用技巧。