mirror of
https://github.com/golang/go
synced 2024-11-24 07:10:18 -07:00
go spec: restricted expressions may still be parenthesized
No language change. - added a few examples with parentheses - added a corresponding sentence to assignments (this explicitly permits: (_) = 0, currently allowed by 6g, gofmt, but marked as an error by gccgo). R=rsc, r, iant CC=golang-dev https://golang.org/cl/4446071
This commit is contained in:
parent
a46a311dec
commit
6af887ec03
@ -1,5 +1,5 @@
|
||||
<!-- title The Go Programming Language Specification -->
|
||||
<!-- subtitle Version of Apr 22, 2011 -->
|
||||
<!-- subtitle Version of May 2, 2011 -->
|
||||
|
||||
<!--
|
||||
TODO
|
||||
@ -3522,10 +3522,9 @@ Error: log.Panic("error encountered")
|
||||
|
||||
<p>
|
||||
Function calls, method calls, and receive operations
|
||||
can appear in statement context.
|
||||
can appear in statement context. Such statements may be parenthesized.
|
||||
</p>
|
||||
|
||||
|
||||
<pre class="ebnf">
|
||||
ExpressionStmt = Expression .
|
||||
</pre>
|
||||
@ -3534,6 +3533,7 @@ ExpressionStmt = Expression .
|
||||
h(x+y)
|
||||
f.Close()
|
||||
<-ch
|
||||
(<-ch)
|
||||
</pre>
|
||||
|
||||
|
||||
@ -3604,15 +3604,15 @@ assign_op = [ add_op | mul_op ] "=" .
|
||||
|
||||
<p>
|
||||
Each left-hand side operand must be <a href="#Address_operators">addressable</a>,
|
||||
a map index expression,
|
||||
or the <a href="#Blank_identifier">blank identifier</a>.
|
||||
a map index expression, or the <a href="#Blank_identifier">blank identifier</a>.
|
||||
Operands may be parenthesized.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
x = 1
|
||||
*p = f()
|
||||
a[i] = 23
|
||||
k = <-ch
|
||||
(k) = <-ch // same as: k = <-ch
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@ -4131,7 +4131,7 @@ case i1 = <-c1:
|
||||
print("received ", i1, " from c1\n")
|
||||
case c2 <- i2:
|
||||
print("sent ", i2, " to c2\n")
|
||||
case i3, ok := <-c3:
|
||||
case i3, ok := (<-c3): // same as: i3, ok := <-c3
|
||||
if ok {
|
||||
print("received ", i3, " from c3\n")
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user