]> Cypherpunks repositories - gostls13.git/commitdiff
spec change for redeclaration
authorRob Pike <r@golang.org>
Mon, 20 Apr 2009 03:04:15 +0000 (20:04 -0700)
committerRob Pike <r@golang.org>
Mon, 20 Apr 2009 03:04:15 +0000 (20:04 -0700)
R=iant,gri
DELTA=14  (14 added, 0 deleted, 0 changed)
OCL=27615
CL=27618

doc/go_spec.html

index c62a168b1f6394b7096e7d5855807dba22b066e5..486813878bf86772fe472af8658cf5e638aa33a6 100644 (file)
@@ -1674,6 +1674,20 @@ variables will be assigned the corresponding values.
 r, w := os.Pipe(fd);  // os.Pipe() returns two values
 </pre>
 
+<p>
+A short variable declaration may redeclare variables provided they
+were originally declared in the same block with the same type, and at
+least one of the variables is new.  As a consequence, redeclaration
+can only appear in a multi-variable short declaration.
+Redeclaration does not introduce a new
+variable; it just assigns a new value to the original.
+</p>
+
+<pre>
+field1, offset := nextField(str, 0);
+field2, offset := nextField(str, offset);  // redeclares offset
+</pre>
+
 <p>
 Short variable declarations may appear only inside functions.
 In some contexts such as the initializers for <code>if</code>,