goto
The Goto keyword forces a jump to a given label.
It should Never be used in modern code since it makes code very difficult to maintain.
It is mostly used to force a termination of heavily nested code, where the logic to safely exit would be tortuous.
Never jump into or out of try statements, or into a loop or conditional block.
{$GOTO ON} // one way to enable the GOTO keyword
var
i : Integer;
label
GotoLabel;
begin
for i := 1 to 10 do begin
Writeln('i = ',i);
if i = 4 then Goto GotoLabel; // Conditionally exit the loop
end;
Writeln('The loop finished OK');
GotoLabel:
Writeln('Loop finished with i = ',i);
end.
Example
Download This Source for Free Pascal
Output
i = 1
i = 2
i = 3
i = 4
Loop finished with i = 4
See Also
Override,
Procedure,
Reintroduce,
Result,
Var,
Virtual.