1.1. 你好,凹语言

打印“hello world”是C语言之后的惯用案例,凹语言例子打印的是中文“你好,凹语言!”。

1.1.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

1.1.2 在线的 Playground

凹语言是面向 WebAssembly 设计的通用编程语言,从诞生起就将浏览器作为第一支持目标。可以通过 https://wa-lang.org/playground 访问 Playground,界面如下:

点击“RUN”按钮,可以看到输出结果。


已知问题:

  • 在线 Playground 仅支持单文件模式,暂不支持多文件工程模式。该问题不影响语法兼容性,后续对本问题的修正不影响已有源代码,凹程序开发者无须对此进行特别处理。