仓颉编程语言程序基本结构
仓颉编程语言程序基本结构
仓颉程序文件的扩展名为 .cj,这些程序和文件也被称为源代码和源文件。
如果要将仓颉程序编译为可执行文件,需要在顶层作用域中定义一个 main 函数作为程序入口,它可以没有参数,也可以有 Array<String> 类型的参数,它的返回值类型可以是整数类型或 Unit 类型。
☆ 没有参数、返回 Unit 的简单示例:
main() { // 不写返回类型,返回 Unit
println("Hello, 仓颉!")
}
编译 & 运行输出:
Hello, 仓颉!
☆ 明确指定为整数类型(如Int64),按照编程惯例通常返回 0 表示程序正常结束,这种情况下若不写return 0,会导致编译错误(因为函数承诺返回整数但未履行)。简单示例:
main(): Int64{
println("hello")
return 0
}
编译 & 运行输出:
Hello
☆ 接收命令行参数
如果需要获取程序启动时的命令行参数,可以声明和使用 Array<String> 类型参数。示例如下:
main(args: Array<String>): Int64 {
println("收到参数个数: ${args.size}") // 先打印真实长度
// 从 0 开始打印所有实参
for (i in 0 .. args.size) {
println("参数 ${i} = ${args[i]}")
}
return 0 //习惯写上返回 0 表示正常结束
}
编译后测试:
对于新手而言,测试时需要注意路径问题。说明如下:
①在cmd中,用 cd /d 命令切换到cangjie\runtime\lib\windows_x86_64_llvm的路径,若已经将其放入环境变量path中,以后可以省略这一步。我这里的路径如下:
D:\cangjie-sdk-windows-x64-1.0.0\cangjie\runtime\lib\windows_x86_64_llvm
【cangjie\runtime\lib\windows_x86_64_llvm的路径,读者要根据自己的实际情况调整,否者,报找不到两个.dll文件:libsecurec.dll、libcangjie-runtime.dll 错误,无法继续执行代码。】
②再运行编译生成生成的可执行文件(.exe文件),带路径,如下
C:\Users\Wang\IDEProjects\test_3\target\release\bin\main.exe a b c
【我这里的编译生成的可执行文件名是main.exe ,扩展名“.exe”可以省略】
运行截图:

☆ 在仓颉程序的顶层作用域中,可以定义一系列的变量、函数和自定义类型(如 struct、class、enum 和 interface 等),其中的变量和函数分别被称为全局变量和全局函数。示例代码:
// 1. 全局变量
let welcome = "你好, 仓颉!"
// 2. 全局函数(顶层作用域不需要 func 修饰符)
func add(a: Int64, b: Int64): Int64 {
return a + b
}
// 3. 自定义枚举类型
enum Color { Red | Green | Blue }
// 4. 程序入口
main() {
println(welcome) // 使用全局变量
println("1 + 2 = ${add(1, 2)}") // 调用全局函数
let c = Color.Red
let name = match (c) {
case Color.Red => "Red"
case Color.Green => "Green"
case Color.Blue => "Blue"
}
println("枚举值示例: ${name}") // 使用自定义枚举类型
}
编译 & 运行输出:
你好, 仓颉!
1 + 2 = 3
枚举值示例: Red
更多推荐



所有评论(0)