Go Packages: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 2: Line 2:
* [[Go_Language_Modularization#Packages|Go Modularization]]
* [[Go_Language_Modularization#Packages|Go Modularization]]
=Overview=
=Overview=
A Go package is a collection of variables and types, which include structs, interfaces, functions, etc.
Go modularization is build upon the concept of package. [[Go_Packages#Overview|Packages]] provide a [[Go_Packages#Packages_as_Namespaces|namespace]] for their names, and also the mechanisms to [[Go_Packages#Packages_as_Encapsulation_Mechanism|encapsulate]] code, hide implementation details and only expose features, such as [[Go_Language#Variables|variables]], [[Go_Language#Type|types]] or [[Go_Functions|functions]] that are meant to be publicly consumed.
=Packages as Namespaces=
=Packages as Namespaces=
=Packages as Encapsulation Mechanism=
=Packages as Encapsulation Mechanism=

Revision as of 23:52, 6 September 2023

Internal

Overview

A Go package is a collection of variables and types, which include structs, interfaces, functions, etc.

Go modularization is build upon the concept of package. Packages provide a namespace for their names, and also the mechanisms to encapsulate code, hide implementation details and only expose features, such as variables, types or functions that are meant to be publicly consumed.

Packages as Namespaces

Packages as Encapsulation Mechanism