Go Modules: Difference between revisions

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


=Overview=
=Overview=
A module is a collection of related [[Go_Packages#Overview|packages]] with built-in dependencies and versioning, that are released together. The module contains the packages in the directory containing its <code>[[#go.mod|go.mod]]</code> file as well as subdirectories of that directory, up to the next subdirectory containing another <code>go.mod</code> file (if any).
A module is a collection of related [[Go_Packages#Overview|packages]] that are released, versioned and distributed together. The module contains the packages in the directory containing its <code>[[#go.mod|go.mod]]</code> file as well as subdirectories of that directory, up to the next subdirectory containing another <code>go.mod</code> file (if any).
 
Modules may be downloaded directly from version control repositories, or from module proxy servers.


=Declaring Modules=
=Declaring Modules=

Revision as of 20:16, 7 September 2023

Internal

TO PROCESS

To process:

Overview

A module is a collection of related packages that are released, versioned and distributed together. The module contains the packages in the directory containing its go.mod file as well as subdirectories of that directory, up to the next subdirectory containing another go.mod file (if any).

Modules may be downloaded directly from version control repositories, or from module proxy servers.

Declaring Modules

Building Modules

Publishing Modules

Consuming Modules

go.mod

go.mod declares the module path, which is the import path prefix for all packages within the module.

Module Path

A module path serves as import path prefix for its packages. It also indicates where the go tool command should look to download it. For example, to download the module golang.org/x/tools, the go tool should go to the repository indicated by https://golang.org/x/tools.