BB___GOSUB

=GOSUB= toc

Description
> GOSUB 'label' sends the program to the first statement after the label. The 'label' can be a branch label or a line number. The code is executed line by line until a RETURN statement is reached, whereupon, program control is transfered back to the first line following the GOSUB command. The code block between the 'label' and RETURN is called a subroutine.

> See Branch Label.

Syntax

 * 1) gosub //{[branchLabel]} or {line number}//

Hints
> This is an example of program flow "branching". The program execution branches to the subroutine indicated in the GOSUB command. When done, program control is sent back to the main program by the RETURN command to the line following the GOSUB statement.

> See GOTO for an example of branching that does //not// return.

> For more modern types of subroutines, see SUB and FUNCTION. They //do// have some advantages (local variables and parameter passing mechanism).

Example
code format="vbnet" ' send program to a gosub routine gosub [myBranchLabel]

' back from gosub routine print "I'm back!" end

' the gosub label [myBranchLabel] '   ...do some stuff print "I'm in the subroutine" ' go back to line following gosub return code

Useful Functions
code format="vbnet" Place a useful function using this command here code