On Saturday, 8 October 2016 20:19:37 UTC+1, Egon wrote:
>
>
>
> In this code you could use empty blocks, e.g.:
>
> {
> i := 0
> loop:
> fmt.Println(i)
> if i < 10 {
> i++
> goto loop
> }
> }
>
> or:
>
> i := 0
> {
> loop:
> fmt.Println(i)
> if i < 10 {
> i++
> goto loop
> }
> }
>
> or:
>
> i := 0
> loop:
> {
> fmt.Println(i)
> if i < 10 {
> i++
> goto loop
> }
> }
>
Yeah I somehow forgot I could arbitrarily use brackets for scope (and fmt
indentation) - I guess the "i" should be local to the loop so the first way
seems to make the most sense.
In the short loop case the 'goto' form is much faster (2x) than the one
with the boolean, and about the same as the example with the break
conditions in the second if - which reads ok.
I suppose a go-ish form of repeat-until or do-while would look something
like this
repeat i := a.X {
repeat j := a.Y {
repeat k := a.Z {
//fmt.Println(" xyz ", i, j, k)
} until k == b.Z; k = k + b.Z - a.Z
} until j == b.Y; j = j + b.Y - a.Y
} until i == b.X; i = i + b.X - a.X
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.