A statement in many ProgrammingLanguages which causes an unconditional branch to an arbitary point in the current function or method. In a host of early BASIC dialects, it was the only control structure available besides if statements.

Despite being maligned in general use, GoTo is still the best way to describe FiniteStateMachines such as parsers in these languages.

The apprentice uses it without thinking.
The journeyman avoids it without thinking.
The master uses it thoughtfully.

It’s also used in C programming a lot to provide something resembling “exceptions”, particularly “finally” clauses: a goto out where out is a label just before the final return.

See GoToStatementConsideredHarmful.

Part of CategoryProgramming