Golang loops: Difference between revisions

From wikinotes
Line 22: Line 22:


= For Loops =
= For Loops =
<blockquote>
== initializer/condition ==
<blockquote>
<blockquote>
initializer/condition based loops
initializer/condition based loops
Line 36: Line 38:
}
}
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- initializer/condition -->


== over condition ==
<blockquote>
<syntaxhighlight lang="go">
i := 0
for i < 5 {
    i++
}
</syntaxhighlight>
</blockquote><!-- condition -->
== over arrays/maps ==
<blockquote>
iterating over arrays/maps
iterating over arrays/maps
<syntaxhighlight lang="go">
<syntaxhighlight lang="go">
Line 54: Line 69:
}
}
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- over arrays/maps -->
</blockquote><!-- For Loops -->
</blockquote><!-- For Loops -->

Revision as of 00:36, 6 June 2022

Breaking, Continuing, etc.

break      // exit loop without finishing
continue   // skip to next iteration
for i := 0; i < 10; i++ {
    // skip to next iteration
    if i % 2 {
        continue
    }

    // exit loop immediately
    if i == 5 {
        break
    }
}

For Loops

initializer/condition

initializer/condition based loops

for i := 0; i < 10; i++ {
    sum += i
}

initializer/condition based loops with multiple variables

for i, j :- 0, 0; i < 10; i, j = i+1, j+1 {
    // ...
}

over condition

i := 0
for i < 5 {
    i++
}

over arrays/maps

iterating over arrays/maps

// iterate key/values in map
for key, value := range oldMap {
    fmt.Println(key + "=" + value)
}

// iterate only keys in map (simply don't assign val)
for key := range oldMap {
    fmt.Println(key)
}

// iterate only values in map
for _, value := range oldMap {
    fmt.Println(value)
}