diff options
| author | Robert Griesemer <gri@golang.org> | 2014-09-25 12:52:05 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2014-09-25 12:52:05 -0700 |
| commit | 2fa3e43fae867f5b8757780eb2bbf7444b56f5d5 (patch) | |
| tree | db1990c7163f5c0e315eb703065f56fb80818d9a | |
| parent | bb29c5a1ed872b770ff5203d8a0109a49e6d1dba (diff) | |
| download | go-2fa3e43fae867f5b8757780eb2bbf7444b56f5d5.tar.xz | |
spec: clarify scope and re-use of iteration variables
Fixes #7834.
LGTM=iant, rsc, r
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/148940044
| -rw-r--r-- | doc/go_spec.html | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html index e0ed7e7b74..583517269c 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -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. |
