仓颉编程|案例体验
仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。要开始使用仓颉语言,首先需要安装其工具链。
仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。要开始使用仓颉语言,首先需要安装其工具链。以下是针对不同操作系统的安装指南:
Linux 平台安装指南
环境准备
仓颉工具链已在以下 Linux 发行版上进行了完整功能测试:
- SUSE Linux Enterprise Server 12 SP5
- Ubuntu 18.04
- Ubuntu 20.04
在安装仓颉工具链之前,需要确保系统满足以下环境要求:
- 架构要求:
- x86_64:glibc 2.22,Linux Kernel 4.12 或更高版本,libstdc++ 6.0.24 或更高版本
- aarch64:glibc 2.27,Linux Kernel 4.15 或更高版本,libstdc++ 6.0.24 或更高版本
此外,还需安装以下依赖:
- SUSE Linux Enterprise Server 12 SP5:
zypper install binutils glibc-devel gcc-c++ - Ubuntu 18.04:
apt-get install binutils libc-dev libc++-dev libgcc-7-dev - Ubuntu 20.04:
apt-get install binutils libc-dev libc++-dev libgcc-9-dev
注意:仓颉工具链依赖 OpenSSL 3,若系统包管理工具未提供该版本,需要手动编译安装。
安装步骤
-
下载安装包:前往 仓颉官方发布渠道,根据系统架构下载对应的安装包,例如
Cangjie-x.y.z-linux_x64.tar.gz。 -
解压安装包:
tar xvf Cangjie-x.y.z-linux_x64.tar.gz
-
配置环境:进入解压后的
cangjie目录,执行环境设置脚本:source cangjie/envsetup.sh -
验证安装:运行以下命令查看版本信息,确认安装成功:
cjc -v
注意:envsetup.sh 脚本仅在当前 shell 环境中配置工具链相关的环境变量,若在新 shell 环境中使用,需要重新执行该脚本。
卸载与更新
删除安装目录,并移除相关环境变量即可完成卸载:
rm -rf <path_to_cangjie>
若需更新工具链,先卸载当前版本,然后按照上述步骤安装新版本。
Windows 平台安装指南
安装步骤
-
下载安装包:前往 仓颉官方发布渠道,选择适配系统架构的 Windows 版安装包,格式为
.exe或.zip。 -
安装工具链:
.exe格式:直接运行安装程序,按照安装向导完成安装。.zip格式:解压到指定目录,然后根据使用的命令行环境,执行对应的环境设置脚本:- CMD 环境:运行
envsetup.bat - PowerShell 环境:运行
envsetup.ps1 - 其他环境:运行
envsetup.sh
- CMD 环境:运行
-
验证安装:在命令行中执行
cjc -v,查看版本信息,确认安装成功。
卸载与更新
删除安装目录,并移除相关环境变量即可完成卸载。若需更新工具链,先卸载当前版本,然后按照上述步骤安装新版本。
macOS 平台安装指南
目前,仓颉工具链尚未提供针对 macOS 平台的完整安装指导。建议关注 仓颉编程语言官网 的最新动态,以获取最新的安装信息。
常见问题解答
-
如何处理 OpenSSL 3 的依赖问题?
若系统包管理工具未提供 OpenSSL 3,可参考 Linux 版本工具链的支持与安装 中的编译安装方法。
-
如何在新终端中使用仓颉工具链?
每次打开新终端时,需要重新执行
envsetup.sh脚本,或将其添加到 shell 初始化配置文件(如.bashrc或.zshrc)中,使其在每次启动时自动生效。 -
如何获取更多帮助?
请访问 仓颉编程语言文档中心 获取详细的使用指南和开发者手册。
通过以上步骤,您即可在对应的平台上成功安装仓颉工具链,开始体验这款新一代编程语言的强大功能。
在线体验
通过这个地址就可以进行在线体验:
在此页面可以初步体验其功能。
案例体现
示例场景:蒙特卡洛算法求圆周率
// 示例场景:蒙特卡洛算法求圆周率
// 涉及特性:常量,变量,可变性,类型转换,幂运算符
import std.random.*
import std.math.*
main() {
// 常量定义是为编译期数据命名,可用于常量表达式中
const N = 100000u32
// 变量定义是为运行时数据存储单元命名,以便后续程序引用
// 如果需要对这份存储单元进行读/写,可使用 var 定义可变变量
var n: UInt32 = 0 // 可以显式指定变量的类型
let random = Random() // 如果省略类型标注,则以初值表达式的类型确定变量类型
for (_ in 0..N) {
// 如果对这份存储单元只读不写,可使用 let 定义不可变变量
let x = random.nextFloat64()
// 不可变变量的初值在运行时确定,这是它和常量的最大区别
let y = random.nextFloat64()
// 读取不可变变量的值
if ((x - 0.5) ** 2 + (y - 0.5) ** 2 < 0.25) {
n++ // 修改可变变量的值
}
}
let pi = Float64(n) / Float64(N) * 4.0
println("π ≈ ${pi}")
println("deviation: ${abs(Float64.PI - pi)}")
}
运行结果

更多推荐



所有评论(0)