Go.mod

From NovaOrdis Knowledge Base
Revision as of 17:53, 14 December 2023 by Ovidiu (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

External

Internal

Overview

go.mod declares the module path, which is the import path prefix for all packages within the module. It also tracks the modules that provide dependencies to this module. go.mod is located in the root of the module, which is also the root of the source tree for the module.

One way to create it is with go mod init:

go mod init <module-path>

go.mod stays with the code, including in the source repository.

As go tools are used to manage dependencies, the tools update the go.mod file so that it maintains the current list of dependencies. when a dependency is added, go creates a go.sum file that contains checksums of dependency modules. This is used to verify the integrity of the downloaded module files.

Example

module example.com/hello

go 1.21.0

require rsc.io/quote v1.5.2

require (
	golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect
	rsc.io/sampler v1.3.0 // indirect
)

Initialize go.mod

In the module root directory, initialize the go.mod file.

go mod init <module-path>
go mod init example.com/generic