if...else

if 语句在栈顶的最后一个元素为真(非零)时执行语句。如果条件为假(0),则可以执行另一个语句。

试一试

语法

wasm
i32.const 0
(if
  (then
    ;; do something
  )
  (else
    ;; do something else
  )
)

要将返回值留在栈上,请添加 result 语句。

wasm
i32.const 0
(if (result i32)
  (then
    ;; do something
    (i32.const 1)
  )
  (else
    ;; do something else
    (i32.const 2)
  )
)
(drop)
指令 二进制操作码
if 0x04
else 0x05