Go Tool: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 60: Line 60:
The <code>fmt</code> ("format") command formats source code files.
The <code>fmt</code> ("format") command formats source code files.
==<tt>get</tt>==
==<tt>get</tt>==
The <code>get</code> command downloads packages and installs them.
The <code>get</code> command downloads packages and installs them. The shared flags described here apply: {{Internal|Go_Tool_Shared_Flags#Overview|Shared Flags}}
 
==<tt>list</tt>==
==<tt>list</tt>==
The <code>list</code> command lists all installed packages. The shared flags described here apply: {{Internal|Go_Tool_Shared_Flags#Overview|Shared Flags}}
The <code>list</code> command lists all installed packages. The shared flags described here apply: {{Internal|Go_Tool_Shared_Flags#Overview|Shared Flags}}

Revision as of 22:48, 26 September 2023

External

Internal

Overview

go is a command line tool with multiple uses: package manager, build tool and test driver. go manage packages in workspaces, query metadata about packages, print documentation, build, format, download, test, etc.

Shared Flags

Shared Flags

Commands

Help

go help <command>
go help build

build

The build command compiles one or more packages and builds the executable if the package main is among the compiled packages. The tool is sensitive to GOPATH mode. For more details, see:

Building Packages with go build

TO DEPLETE: Go_Commands_-_build

Also see:

Shared Flags

install

go install is similar to go build except that is saves the compiled code as object files locally for each packages instead of discarding it. The shared flags described here apply.

Locally Installing Modules
Locally Installing Packages

run

The run command compiles the specified packages or files by delegating to go build and then runs the executable. There must be a main for an executable to be generated.

cd $PROJECT_DIR
go run ./src/main/main.go some-arg-1 some-arg-2

The first argument that does not end in .go is assumed to be the beginning of the list of command line arguments of the executable.

The shared flags described here apply:

Shared Flags

clean

The shared flags described here apply:

Shared Flags

-cache

Clean the build cache:

go clean -cache

-fuzzcache

Clean the fuzz cache:

go clean -fuzzcache

doc

The doc command prints documentation for a package or a package member:

go doc time
go doc time.Since

fmt

The fmt ("format") command formats source code files.

get

The get command downloads packages and installs them. The shared flags described here apply:

Shared Flags

list

The list command lists all installed packages. The shared flags described here apply:

Shared Flags

test

The test command runs tests. The shared flags described here apply:

Shared Flags

For more details, see:

Go Testing

env

The env command prints the effective values of the environment variables relevant to the tool chain.

go env GOOS GOARCH GOPATH

get

The get command retrieve and update packages.

TODO Addison-Wesley The Go Programming Language Section 10.7.2

mod

go.mod

Initialize a v0 or v1 module:

go mod init example.com/m

Initialize a v2 module:

go mod init example.com/m/v2

Inspect the code, look for module imports, download them and update go.mod.

go mod tidy

TO DEPLETE

Deplete: