Go for
Jump to navigation
Jump to search
External
- Language Specification for Statements https://golang.org/ref/spec#For_statements
Internal
Overview
A for statement specifies repeated execution of a block. For more details on blocks, see Go blocks.
The iteration is controlled by a condition, a "for" clause, or a "range" clause.
for Controlled by a Condition
for a < b { a *= 2 }
The condition is evaluated before each iteration. If the condition is absent, is equivalent with true.
for { // do this forever }
for Controlled by a "for" Clause
for controlled by a "for" clause is equivalent with for controlled by a condition, but it has an extra init and post statement:
for i := 0; i < 10; i++ { // do something }
for Controlled by a "range" Clause
A for statement with a "range" clause iterates through all entries of an array, slice, string or map, or values received on a channel. For each entry it assigns iteration values to corresponding iteration variables if present and then executes the block:
var a [10]string for i, s := range a { // type of i is int // type of s is string // and s == a[i] // do something }