Clarify when expressions are evaluated for a range clause.

R=gri, rsc
CC=golang-dev
https://golang.org/cl/189057
This commit is contained in:
Ian Lance Taylor 2010-01-13 12:50:45 -08:00
parent 14a74378f4
commit ae13f43810

View file

@ -3783,7 +3783,12 @@ string or array element or map value.
The types of the array or slice index (always <code>int</code>)
and element, or of the map key and value respectively,
must be <a href="#Assignment_compatibility">assignment compatible</a> with
the type of the iteration variables.
the type of the iteration variables. The expression on the right hand
side is evaluated once before beginning the loop. At each iteration
of the loop, the values produced by the range clause are assigned to
the left hand side as in an <a href="#Assignments">assignment
statement</a>. Function calls on the left hand side will be evaluated
exactly once per iteration.
</p>
<p>
For strings, the "range" clause iterates over the Unicode code points