mirror of
https://github.com/python/cpython
synced 2024-09-15 23:06:25 +00:00
bpo-43199: Briefly explain why no goto (GH-24852)
Answer "Why is there no goto?" in the Design and History FAQ.
This commit is contained in:
parent
bd2fa3c416
commit
5e29021a5e
|
@ -600,7 +600,15 @@ test cases at all.
|
|||
Why is there no goto?
|
||||
---------------------
|
||||
|
||||
You can use exceptions to provide a "structured goto" that even works across
|
||||
In the 1970s people realized that unrestricted goto could lead
|
||||
to messy "sphagetti" code that was hard to understand and revise.
|
||||
In a high-level language, it is also unneeded as long as there
|
||||
are ways to branch (in Python, with ``if`` statements and ``or``,
|
||||
``and``, and ``if-else`` expressions) and loop (with ``while``
|
||||
and ``for`` statements, possibly containing ``continue`` and ``break``).
|
||||
|
||||
One can also use exceptions to provide a "structured goto"
|
||||
that works even across
|
||||
function calls. Many feel that exceptions can conveniently emulate all
|
||||
reasonable uses of the "go" or "goto" constructs of C, Fortran, and other
|
||||
languages. For example::
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Answer "Why is there no goto?" in the Design and History FAQ.
|
Loading…
Reference in a new issue