Go Methods: Difference between revisions
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
The declaration is identical to that of a regular function, with the exception of the '''receiver parameter''', which precedes the function name. The receiver parameter gives the method's body access to the instance of the associated type. | The declaration is identical to that of a regular function, with the exception of the '''receiver parameter''', which precedes the function name. The receiver parameter gives the method's body access to the instance of the associated type. | ||
=Value or Pointer Receiver= |
Revision as of 00:37, 31 August 2024
Internal
Overview
Go allows associating arbitrary behavior with built-in or custom types, which contributes to the object-oriented character of the language. Note that Go is not a fully object-oriented language, it misses type inheritance, for example.
Syntactically, the association of the behavior with the type is done by declaring a function, encapsulating the behavior we want to add to the type, and adding a receiver type to its signature:
func (t ReceiverType) FunctionName(parameters, ...) (return_declaration) { ... }
As result of this association, the function becomes a method of the type.
The declaration is identical to that of a regular function, with the exception of the receiver parameter, which precedes the function name. The receiver parameter gives the method's body access to the instance of the associated type.