GoSub...Return Statement/text/sbasic/shared/03090301.xhpGoSub...Return statementlabel; in GoSub...Return statement
GoSub...Return Statement
Calls a subroutine that is indicated by a label inside a Sub or a Function. The statements following the label are executed until the next Return statement. Afterwards, the program continues with the statement that follows the GoSub statement.GoSub label[:]label: A line identifier indicating where to continue execution. The scope of a label in that of the routine it belongs to.The GoSub statement calls a local subroutine indicated by a label from within a subroutine or a function. The name of the label must end with a colon (":").Sub/Function foo ' statements GoSub label ' statements Exit Sub/Functionlabel: ' statements ReturnEnd Sub/FunctionIf the program encounters a Return statement not preceded by GoSub, $[officename] Basic returns an error message. Use Exit Sub or Exit Function to ensure that the program leaves a Sub or Function before reaching the next Return statement.The following example demonstrates the use of GoSub and Return. By executing a program section twice, the program calculates the square root of two numbers that are entered by the user.Sub ExampleGoSubDim iInputa As SingleDim iInputb As SingleDim iInputc As Single iInputa = Int(InputBox("Enter the first number: ","NumberInput")) iInputb = Int(InputBox("Enter the second number: ","NumberInput")) iInputc=iInputa GoSub SquareRoot Print "The square root of";iInputa;" is";iInputc iInputc=iInputb GoSub SquareRoot Print "The square root of";iInputb;" is";iInputc Exit SubSquareRoot: iInputc=sqr(iInputc) ReturnEnd Sub