Go Language Modularization: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 24: Line 24:


=<span id='Package'></span>Packages=
=<span id='Package'></span>Packages=
A package is a group of related source files. A package can be imported by other packages.
A package is a group of related source files. A package can be imported by other packages. Always, there must be one package called <code>main</code>, and when that package is compiled, an executable is produced as result. Other packages do not produce executables as result of their compilation.  
==Declaring Packages==
==Declaring Packages==
==Importing Packages==
==Importing Packages==

Revision as of 00:27, 15 August 2023

External

Internal

Overview

A standard organization of the files that are part of a project makes easier to share code with other people who also use the same standard. Go workspaces encourage such a standard.

Overview

Workspaces

The standard workspace layout is:

. 
├─ src
├─ pkg
└─ bin

This layout is recommended, but not enforced.

A workspace may contain multiple projects.

Define the relationship between workspace and the GOPATH variable.

Project

Packages

A package is a group of related source files. A package can be imported by other packages. Always, there must be one package called main, and when that package is compiled, an executable is produced as result. Other packages do not produce executables as result of their compilation.

Declaring Packages

Importing Packages

Dependencies

TODO

Deplete, merge into this document and delete: