Skip to content

ON...GOSUB


根据表达式调用一个标签。

语法

On expression Gosub label1[, ...]

描述

根据 expression 的值跳转到不同的标签。表达式值为 1 时跳转到第一个标签,值为 2 时跳转到第二个,依此类推。如果 expression 的值为零(0)或大于列表中的项目数,则执行继续到 On...Gosub 后面的下一条语句。

此语句的行为与 Gosub 完全相同,执行可以使用 Return 返回到 On...Gosub 后面的语句。

建议使用结构化的 Select Case 条件语句代替 On...Gosub

示例

start GeSHi

vb
'' Compile with -lang qb

'$lang: "qb"

choice = 3
On choice GoSub labela, labelb, labelc
Print "Good bye."
End

labela:
Print "choice a"
Return

labelb:
Print "choice b"
Return

labelc:
Print "choice c"
Return

end GeSHi

方言差异

与 QB 的差异

  • 如果 expression 为负数或大于 255,FreeBASIC 不会生成运行时错误。

参见

  • Select Case
  • On...Goto
  • Gosub
  • Return (from Gosub)
  • Option Gosub
  • Labels

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系