2.2. 你好,凹语言
打印“hello world”是C语言之后的惯用案例,凹语言例子打印的是中文“你好,凹语言!”。
2.2.1 你好,凹语言!
创建 hello.wa 文件,内容如下:
// 版权 @2019 凹语言 作者。保留所有权利。
import "fmt"
import "runtime"
global year: i32 = 2023
func main {
println("你好,凹语言!", runtime.WAOS)
println(add(40, 2), year)
fmt.Println("1+1 =", 1+1)
}
func add(a: i32, b: i32) => i32 {
return a+b
}
其中//开始的是行注释,import关键字导入了2个标准库的包,global关键字定义了一个全局变量,并给了2023的初始值。func关键字定义了main函数和add函数。main函数是程序的入口,其中通过内置的println函数打印了“你好,凹语言!”,同时使用fmt包的Println字符串和整数表达式的结果。在main函数还使用了全局的year变量,此外还调用了add函数并打印了返回值。add函数有2个输入参数和一个返回值。
如果在本地已经安装有凹语言的wa命令(安装方式参考1.2节),可以输入以下命令执行:
$ wa run hello.wa
你好,凹语言! wasi
42
1+1 = 2
2.2.2 在线的 Playground
凹语言是面向 WebAssembly 设计的通用编程语言,从诞生起就将浏览器作为第一支持目标。可以通过 https://wa-lang.org/playground 访问 Playground,界面如下:

点击“RUN”按钮,可以看到输出结果。
已知问题:
- 在线 Playground 仅支持单文件模式,暂不支持多文件工程模式。该问题不影响语法兼容性,后续对本问题的修正不影响已有源代码,凹程序开发者无须对此进行特别处理。