根据表达式调用标签
语法
On expression GoSub label1 [, ...]
说明
根据
expression 的值分支到不同的标签。表达式值为1将分支到第一个标签,值为2到第二个等。如果
expression 的值为零(0)或大于列表中的项目数,则在
On...Gosub之后的下一个语句上继续执行。
此语句的行为与
GoSub完全相同,执行可能会返回到使用
Return的
On...Gosub之后的语句。
建议使用结构化
Select Case条件语句,而不是
On...Gosub.
例子
''用-lang qb编译
'$ lang:“qb”
choice = 3
On choice GoSub labela, labelb, labelc
Print "再见。"
End
labela:
Print "选择一个"
Return
labelb:
Print "选择b"
Return
labelc:
Print "选择c"
Return
方言差异
与QB差别
- 如果expression 为负数或大于255,则FreeBASIC不会生成运行时错误。
参考