Skip to content

关键字 ​

关键字有拼音、中文、英文三种写法,完全等价。

下面这些名字被语言占用,不能用作变量名、函数名、参数名、结构体名、字段名、方法名或模块名。三种写法全部占用,命中任意一种都会报错。判断按整个词匹配:jia 不能用,jia_fa 可以。

起名时注意拼音

拼音写法最容易无意撞上。例如 jia 是 false 的拼音,hs jia(a z64, b z64) 会报错。

类型名的占用规则相同,见 名称对照。将来可能启用的词见 保留关键字。

声明与结构 ​

拼音中文英文说明
hs函数fn函数声明、函数值类型
bl变量var变量声明
jiegouti结构体struct结构体声明
shixian实现impl结构体方法
leixing类型type类型标注
daochu导出export导出函数
daoru导入import导入模块
laizi来自fromdaoru ... laizi
zuowei作为as导入时改名
wailian外联extern声明 C 函数
ku库lib链接 C 库
bibao闭包closure闭包
rukou入口rukou程序入口,英文写法与拼音相同
meiju枚举enum仅占用,不实现

控制流 ​

拼音中文英文说明
ruguo如果if条件
fouze否则else否则
dang当whilewhile 循环
jishu计数forfor 循环
shuyu属于in遍历
tiaochu跳出break跳出循环
jixu继续continue进入下一轮
fanhui返回return返回

字面量 ​

拼音中文英文说明
zheng真true真
jia假false假
kong空none空值

错误处理 ​

拼音中文英文说明
kecuo可错fails标记会失败的函数
changshi尝试try调用会失败的函数
buhuo捕获catch处理错误
cuowu错误Err构造错误
sp_kecuo上抛_可错up_fails把错误交给上一层

所有权与修饰 ​

拼音中文英文说明
yidong移动move转移所有权
kexuan可选optional可以为空的类型
bu_anquan不安全unsafeunsafe 块
bu_kaobei不可拷贝nocopy不可拷贝结构体

内建函数 ​

由编译器提供,同样不能用作名字,也不能被同名函数覆盖。

拼音中文英文说明
dayin打印print打印
leixing_zhuanhuan类型_转换type_conversion数值类型转换
shuzi_zhuan_zifuchuan数字_转_字符串number_to_string数字转字符串
zifuchuan_zhuan_shuzi字符串_转_数字string_to_number字符串转数字
jiebao解包unwrap取出可选值
xiaohui销毁destroy提前释放变量
konghuang恐慌panic终止程序
zhuan_bibao转_闭包closure_of函数值转闭包

指针与 C 互操作 ​

见 unsafe 与指针 和 调用 C 库。

拼音中文英文说明
daizhi带址addr带类型地址
quzhi取址addr_of取地址
jiezhi解址deref读地址
xiezhi写址store写地址
luozhi裸址raw_addr取裸地址
luojie裸解raw_deref读裸地址
luoxie裸写raw_store写裸地址
luozhuanzhi裸转址raw_to_addr裸地址转带类型地址
zhizhuanluo址转裸addr_to_raw带类型地址转裸地址
c_chuanC串c_str字符串借给 C
c_chuan_kaobeiC串拷贝c_str_copy字符串复制给 C
c_zhuan_chuanC转串string_from_cC 字符串转 cpro 字符串
zhi_zhuan_shuzu址转数组array_from_addrC 缓冲区转数组

保留方法名 ​

不能在 shixian 块里当普通方法名用:

拼音中文英文说明
xiaohui_qian销毁前before_destroy清理方法,只有 nocopy 结构体能定义,见 nocopy 结构体

cpro 目前处于测试阶段