mirror of
https://gitee.com/wa-lang/wa.git
synced 2025-12-06 09:18:53 +08:00
wz: 凹语言中文版的第2版设计
w2为临时名字, 是wz的象形替代. 设计思路参考凹语言中文第一版语法/考鼎码和其他语言的一些设计. 目标是通过内置的数据结构和基本的控制流语句方便编程启蒙, 同时能够融合凹语言的生态.
文件名和包结构
- 文件后缀名为
.wz - 单个文件可执行, 和凹语言保持一致
- 目录中多个
.wz文件对应一个包 - 源文件以utf8编码
主函数
主控 是入口函数:
函数 主控:
输出 ("Hello, world!")
完毕
等价于以下的凹语言代码:
func main {
println("Hello, world!")
}
典型示例
打印输出和调用函数:
引入 "格式化"
全局 年 = 2023
函数 主控:
输出("你好, 凹语言!")
输出(加法(40, 2), 年)
格式化.输出(1+1)
完毕
函数 加法(甲, 乙: 整数) => 整数:
返回 甲+乙
完毕
打印30以内的素数:
引入 "书"
函数 主控:
注:打印30以内的素数
循环 甲 := 2; n <= 30; 甲++:
是素数 := 真
循环 乙 := 2; 乙*乙 < 甲; 乙++:
丙 := 甲%乙
如果 丙 == 0:
是素数 = 假
完毕
完毕
如果 是素数:
书·曰(甲)
完毕
完毕
完毕
关键字的对应
- break: 跳出
- case: 有辙
- const: 常量
- continue: 继续
- default: 没辙
- defer: 押后
- else: 否则
- else if: 或者
- for: 循环
- func: 函数
- global: 全局
- if: 如果
- import: 引入
- interface: 接口
- map: 字典
- range: 迭代
- return: 返回
- struct: 结构
- switch: 找辙
- type: 类型
内置具名对象的对应
- nil: 空
- true: 真
- false: 假
- iota: 自增
- init: 准备
- main: 主控
- this: 自身
- println: 输出
- print: 打印
内置的类型
- bool: 布尔
- int: 整型
- uint: 正整
- float32: 单精
- float64: 双精
- complex64: 复单
- complex128: 复双
- uintptr: 针型
- string: 字串
- byte: 字节
- rune: 符文
- i8: 微整型
- i16: 短整型
- i32: 普整型
- i64: 长整型
- u8: 微正整
- u16: 短正整
- u32: 普正整
- u64: 长正整
- error: 错误
包名字
- main: 主包
- builtin: 太初
- unsafe: 鸿蒙
- runtime: 周行