Go lets you say "Loop: for ..." and then "break Loop".
-rob
On Wed, Dec 2, 2020 at 3:40 AM <arnold(a)skeeve.com> wrote:
On Tue, Dec 1,
2020 at 8:39 AM <arnold(a)skeeve.com> wrote:
> It was recognized that goto was not necessary if one had proper control
> structures in a language (if/else, while), and that code with no (or
> minimal) gotos was easier to read and understand.
Warner Losh <imp(a)bsdimp.com> wrote:
This is true for simple flow control. However,
when you had to break out
of
multiple levels, or continue not the inner loop,
but the middle loop, the
use of extra booleans sure made the code less understandable than a
'goto'
a label that stood in for that purpose... This
was something that wasn't
well understood by language designers, and even today C and C++ neither
have good flow control beyond the basics. Even though both break and
continue could take an optional count without breaking old code....
Quite true. Modern Bourne shells let you supply a number to break and
continue to specify how many loops to break. Ada, or maybe it was one of
the Modula-X languages, let you put a label on a loop so that you could
say `continue outer' or `break outer' and not need the booleans.
This is something that newer languages (C#, Java, Go, ...) could have
picked
up but didn't, which I think is too bad.
Arnold