mirror of
https://github.com/golang/go
synced 2024-11-22 02:24:41 -07:00
- minor tweak to composite literal production:
renamed PairExpr -> KeyValueExpr and PairExprList -> KeyValueList (to match corresponding nodes in AST per rsc' suggestion) - added a couple of TODOs R=r,rsc DELTA=10 (2 added, 0 deleted, 8 changed) OCL=26837 CL=26840
This commit is contained in:
parent
5019a8db7f
commit
c5c577c1ff
@ -25,7 +25,9 @@ Todo's:
|
||||
[ ] fix "else" part of if statement
|
||||
[ ] cleanup: 6g allows: interface { f F } where F is a function type.
|
||||
fine, but then we should also allow: func f F {}, where F is a function type.
|
||||
|
||||
[ ] decide if and what to write about evaluation order of tuple assignments
|
||||
[ ] decide if and what to write about evaluation order of composite literal
|
||||
elements (single expressions, (key:value) pairs)
|
||||
|
||||
Wish list:
|
||||
[ ] enum facility (enum symbols that are not mixable with ints) or some other
|
||||
@ -1885,15 +1887,15 @@ Composite literals construct values for structs, arrays, slices, and maps
|
||||
and create a new value each time they are evaluated.
|
||||
They consist of the type of the value
|
||||
followed by a brace-bound list of expressions,
|
||||
or a list of expression pairs for map literals.
|
||||
or a list of key-value pairs for map literals.
|
||||
</p>
|
||||
|
||||
<pre class="grammar">
|
||||
CompositeLit = LiteralType "{" [ ( ExpressionList | ExprPairList ) [ "," ] ] "}" .
|
||||
CompositeLit = LiteralType "{" [ ( ExpressionList | KeyValueList ) [ "," ] ] "}" .
|
||||
LiteralType = StructType | ArrayType | "[" "..." "]" ElementType |
|
||||
SliceType | MapType | TypeName .
|
||||
ExprPairList = ExprPair { "," ExprPair } .
|
||||
ExprPair = Expression ":" Expression .
|
||||
KeyValueList = KeyValueExpr { "," KeyValueExpr } .
|
||||
KeyValueExpr = Expression ":" Expression .
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
Loading…
Reference in New Issue
Block a user