]> Cypherpunks repositories - gostls13.git/commitdiff
spec: clarify scope and re-use of iteration variables
authorRobert Griesemer <gri@golang.org>
Thu, 25 Sep 2014 19:52:05 +0000 (12:52 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 25 Sep 2014 19:52:05 +0000 (12:52 -0700)
Fixes #7834.

LGTM=iant, rsc, r
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/148940044

doc/go_spec.html

index e0ed7e7b74581dd5fd96e67e6e350aa7c16af59a..583517269c5a6ebbcce8f6ee83a1c2a66c9aeeaf 100644 (file)
@@ -4682,6 +4682,7 @@ additionally it may specify an <i>init</i>
 and a <i>post</i> statement, such as an assignment,
 an increment or decrement statement. The init statement may be a
 <a href="#Short_variable_declarations">short variable declaration</a>, but the post statement must not.
+Variables declared by the init statement are re-used in each iteration.
 </p>
 
 <pre class="ebnf">
@@ -4808,7 +4809,7 @@ The iteration variables may be declared by the "range" clause using a form of
 <a href="#Short_variable_declarations">short variable declaration</a>
 (<code>:=</code>).
 In this case their types are set to the types of the respective iteration values
-and their <a href="#Declarations_and_scope">scope</a> ends at the end of the "for"
+and their <a href="#Declarations_and_scope">scope</a> is the block of the "for"
 statement; they are re-used in each iteration.
 If the iteration variables are declared outside the "for" statement,
 after execution their values will be those of the last iteration.