GoSub
Control flow statement to use a section of code and return.
GoSub label
Execution jumps to a subroutine marked by a line label. Always use Return to exit a GoSub, execution will continue on next statement after GoSub.
The line label where GoSub jumps must be in the same main/function/sub block as GoSub. All the variables in the subroutine are shared with the block, no arguments can be used. For this reason Gosub is considered bad programming practice as it can generate unreadable and untraceable code. It is better to use Sub or Function instead.
Syntax
GoSub label
Description
Execution jumps to a subroutine marked by a line label. Always use Return to exit a GoSub, execution will continue on next statement after GoSub.
The line label where GoSub jumps must be in the same main/function/sub block as GoSub. All the variables in the subroutine are shared with the block, no arguments can be used. For this reason Gosub is considered bad programming practice as it can generate unreadable and untraceable code. It is better to use Sub or Function instead.
Example
'' Compile with -lang qb
'$lang: "qb"
GoSub message
End
message:
Print "Welcome!"
Return
'$lang: "qb"
GoSub message
End
message:
Print "Welcome!"
Return
Dialect Differences
- Only available in the -lang qb and -lang fblite dialects.
- GoSub support is disabled by default in the -lang fblite unless the Option Gosub statement is used.
Differences from QB
- None when using the -lang qb dialect.
See also