GoSub
Control flow statement to use a section of code and return.
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
`
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

- `Goto`
- `Return (From Gosub)`
- `Sub`
- `Function`
- `Option Gosub`
- `Labels`