aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2010-01-13 12:50:45 -0800
committerIan Lance Taylor <iant@golang.org>2010-01-13 12:50:45 -0800
commitae13f43810e8afe2b1c68a59b10d93e8522b90e3 (patch)
tree58d5267b9d8ccaeab88f88f68dd8ae5dd0a6d5ab
parent14a74378f45298853ea1292321bcaa6788b163fb (diff)
downloadgo-ae13f43810e8afe2b1c68a59b10d93e8522b90e3.tar.gz
go-ae13f43810e8afe2b1c68a59b10d93e8522b90e3.zip
Clarify when expressions are evaluated for a range clause.
R=gri, rsc CC=golang-dev https://golang.org/cl/189057
-rw-r--r--doc/go_spec.html7
1 files changed, 6 insertions, 1 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html
index f4f2f56a0d..5243db37da 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -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