Go Methods: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 5: Line 5:
Go allows associating arbitrary [[Object-Oriented_Programming#Associating_Behavior_with_Types|behavior]] with built-in or custom [[Go_Language#Type|types]], which contributes to the object-oriented character of the language. Note that Go is not a fully object-oriented language, it misses [[Go_Inheritance_and_Polymorphism#Go_Does_Not_Have_Type_Inheritance|type inheritance]], for example.
Go allows associating arbitrary [[Object-Oriented_Programming#Associating_Behavior_with_Types|behavior]] with built-in or custom [[Go_Language#Type|types]], which contributes to the object-oriented character of the language. Note that Go is not a fully object-oriented language, it misses [[Go_Inheritance_and_Polymorphism#Go_Does_Not_Have_Type_Inheritance|type inheritance]], for example.


Syntactically, the association of behavior with a type is done by declaring a function (the behavior) and adding to it a '''receiver type''' (the type).
Syntactically, the association of behavior with a type is done by declaring a '''function''' (the behavior) and adding to it a '''receiver type''' (the type).


<font size=-1.5>
<font size=-1.5>
Line 12: Line 12:
  }
  }
</font>
</font>
As result of this association, the function becomes a '''method of the type'''.

Revision as of 00:28, 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 behavior with a type is done by declaring a function (the behavior) and adding to it a receiver type (the type).

func (t T) FunctionName(parameters) (return type){
 ...
}

As result of this association, the function becomes a method of the type.