mirror of
https://github.com/golang/go
synced 2024-11-25 08:57:58 -07:00
- receiver ident may be optional
R=r DELTA=5 (2 added, 0 deleted, 3 changed) OCL=21508 CL=21510
This commit is contained in:
parent
ab0d2582b4
commit
6ccca61510
@ -3,7 +3,7 @@ The Go Programming Language Specification (DRAFT)
|
|||||||
|
|
||||||
Robert Griesemer, Rob Pike, Ken Thompson
|
Robert Griesemer, Rob Pike, Ken Thompson
|
||||||
|
|
||||||
(December 17, 2008)
|
(December 18, 2008)
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@ -3045,10 +3045,12 @@ as a type name, or as a pointer to a type name. The type specified by the
|
|||||||
type name is called ``receiver base type''. The receiver base type must be a
|
type name is called ``receiver base type''. The receiver base type must be a
|
||||||
type declared in the current file, and it must not be a pointer type.
|
type declared in the current file, and it must not be a pointer type.
|
||||||
The method is said to be ``bound'' to the receiver base type; specifically
|
The method is said to be ``bound'' to the receiver base type; specifically
|
||||||
it is declared within the scope of that type (§Type declarations).
|
it is declared within the scope of that type (§Type declarations). If the
|
||||||
|
receiver value is not needed inside the method, its identifier may be omitted
|
||||||
|
in the declaration.
|
||||||
|
|
||||||
MethodDecl = "func" Receiver identifier FunctionType [ Block ] .
|
MethodDecl = "func" Receiver identifier FunctionType [ Block ] .
|
||||||
Receiver = "(" identifier [ "*" ] TypeName ")" .
|
Receiver = "(" [ identifier ] [ "*" ] TypeName ")" .
|
||||||
|
|
||||||
All methods bound to a receiver base type must have the same receiver type:
|
All methods bound to a receiver base type must have the same receiver type:
|
||||||
Either all receiver types are pointers to the base type or they are the base
|
Either all receiver types are pointers to the base type or they are the base
|
||||||
|
Loading…
Reference in New Issue
Block a user