diff options
Diffstat (limited to 'man/go-packages.7')
-rw-r--r-- | man/go-packages.7 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/man/go-packages.7 b/man/go-packages.7 new file mode 100644 index 0000000..eb546bf --- /dev/null +++ b/man/go-packages.7 @@ -0,0 +1,104 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-PACKAGES 7 "2021-09-06" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +Many commands apply to a set of packages: + +.Vb 6 +\& go action [packages] +.Ve + +.P +Usually, [packages] is a list of import paths. +.P +An import path that is a rooted path or that begins with +a . or .. element is interpreted as a file system path and +denotes the package in that directory. +.P +Otherwise, the import path P denotes the package found in +the directory DIR/src/P for some DIR listed in the GOPATH +environment variable (For more details see: 'go help gopath'). +.P +If no import paths are given, the action applies to the +package in the current directory. +.P +There are four reserved names for paths that should not be used +for packages to be built with the go tool: +.IP \[bu] 2 +"main" denotes the top-level package in a stand-alone executable. +.IP \[bu] +"all" expands to all packages found in all the GOPATH +trees. For example, 'go list all' lists all the packages on the local +system. When using modules, "all" expands to all packages in +the main module and their dependencies, including dependencies +needed by tests of any of those. +.IP \[bu] +"std" is like all but expands to just the packages in the standard +Go library. +.IP \[bu] +"cmd" expands to the Go repository's commands and their +internal libraries. +.P +Import paths beginning with "cmd/" only match source code in +the Go repository. +.P +An import path is a pattern if it includes one or more "..." wildcards, +each of which can match any string, including the empty string and +strings containing slashes. Such a pattern expands to all package +directories found in the GOPATH trees with names matching the +patterns. +.P +To make common patterns more convenient, there are two special cases. +First, /... at the end of the pattern can match an empty string, +so that net/... matches both net and packages in its subdirectories, like net/http. +Second, any slash-separated pattern element containing a wildcard never +participates in a match of the "vendor" element in the path of a vendored +package, so that ./... does not match packages in subdirectories of ./vendor +or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. +Note, however, that a directory named vendor that itself contains code +is not a vendored package: cmd/vendor would be a command named vendor, +and the pattern cmd/... matches it. +See golang.org/s/go15vendor for more about vendoring. +.P +An import path can also name a package to be downloaded from +a remote repository. Run 'go help importpath' for details. +.P +Every package in a program must have a unique import path. +By convention, this is arranged by starting each path with a +unique prefix that belongs to you. For example, paths used +internally at Google all begin with 'google', and paths +denoting remote repositories begin with the path to the code, +such as 'github.com/user/repo'. +.P +Packages in a program need not have unique package names, +but there are two reserved package names with special meaning. +The name main indicates a command, not a library. +Commands are built into binaries and cannot be imported. +The name documentation indicates documentation for +a non-Go program in the directory. Files in package documentation +are ignored by the go command. +.P +As a special case, if the package list is a list of .go files from a +single directory, the command is applied to a single synthesized +package made up of exactly those files, ignoring any build constraints +in those files and ignoring any other files in the directory. +.P +Directory and file names that begin with "." or "_" are ignored +by the go tool, as are directories named "testdata". +.SH AUTHOR +This manual page was written by Michael Stapelberg <stapelberg@debian.org> +and is maintained by the +Debian Go Compiler Team <team+go-compiler@tracker.debian.org> +based on the output of 'go help packages' +for the Debian project (and may be used by others). |