Commit 2a1683a0 authored by Rob Pike's avatar Rob Pike

spec change for redeclaration

R=iant,gri
DELTA=14  (14 added, 0 deleted, 0 changed)
OCL=27615
CL=27618
parent 549a6004
...@@ -1674,6 +1674,20 @@ variables will be assigned the corresponding values. ...@@ -1674,6 +1674,20 @@ variables will be assigned the corresponding values.
r, w := os.Pipe(fd); // os.Pipe() returns two values r, w := os.Pipe(fd); // os.Pipe() returns two values
</pre> </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> <p>
Short variable declarations may appear only inside functions. Short variable declarations may appear only inside functions.
In some contexts such as the initializers for <code>if</code>, In some contexts such as the initializers for <code>if</code>,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment