GOTO label G label
|label||Any valid label. The label name can be optionally followed by a colon (:)|
The GOTO statement is used to transfer execution to the line of code identified by label. The label argument value corresponds to line of code identified by a label identifier. Numeric labels do not use a colon suffix. Non-numeric labels end with a colon character; this colon is option when specifying the label argument.
G is an abbreviation for the GOTO statement. The GOSUB statement is similar to GOTO, except that it permits a RETURN. The ON statement provides a way to select one of several GOTO labels, based on an integer value.
Commonly, GOTO is used within a code block of an IF...THEN statement.
GOTO can be used to exit from a FOR...NEXT or LOOP...REPEAT loop. You can also use the EXIT statement to cause execution to jump out of a FOR...NEXT or LOOP...REPEAT loop. You can use the CONTINUE statement to cause execution to jump back to the FOR or LOOP statement to perform the next loop iteration.
GOTO can be used to enter the middle of a FOR...NEXT or LOOP...REPEAT loop. This use of GOTO is generally not recommended, and is not supported in other Caché languages, such as ObjectScript.
jBASE emulation uses the ONGO.RANGE option setting for handling out-of-range label values.
The following examples illustrate the use of the GOTO statement with numeric and non-numeric labels:
IF TIME()=0 THEN GOTO 20 ELSE PRINT Time() END IF END 20 PRINT "It's midnight, time is reset to 0" END
IF TIME()=0 THEN GOTO Midnight ELSE PRINT Time() END IF END Midnight: PRINT "It's midnight, time is reset to 0" END