Go Keyword range: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 34: Line 34:
<pre>
<pre>
var a [5]int
var a [5]int
for _, value := range a {
for i, value := range a {
   // value is the value
   // i is the index
  // 'value' is the value
}
}
</pre>
</pre>

Revision as of 04:29, 28 March 2016

Internal

Overview

range keyword is used to iterate over arrays, slices, maps and variadic function arguments. It returns two values. On the first position is the index/kyes, and the second position is the value.

Note that only a first identifier is declared, that is the index and not the value, as the intuition would suggest. See examples below:

Iterating over Indices

var a [5]int
for i := range a {
   // i is the index
}

Iterating over Values

var a [5]int
for _, value := range a {
   // 'value' is the value
}

Iterating over Indices and Values

var a [5]int
for i, value := range a {
   // i is the index
   // 'value' is the value
}