GO-LIST(1)

NAME
go - tool for managing Go source code

SYNOPSIS
go list [-e] [-f format] [-json] [ packages ]

DESCRIPTION
List lists the packages named by the import paths, one per line. The default output shows the package import path:
      code.google.com/p/google-api-go-client/books/v1
      code.google.com/p/goauth2/oauth
      code.google.com/p/sqlite

OPTIONS

-f  The -f flag specifies an alternate format for the list, using the syntax of package template. The default output is equivalent to -f '{{.ImportPath}}'. The struct being passed to the template is:
          type Package struct {
              Dir        string // directory containing package sources
              ImportPath string // import path of package in dir
              Name       string // package name
              Doc        string // package documentation string
              Target     string // install path
              Goroot     bool   // is this package in the Go root?
              Standard   bool   // is this package part of the standard Go library?
              Stale      bool   // would 'go install' do anything for this package?
              Root       string // Go root or Go path dir containing this package

              // Source files
              GoFiles  []string  // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles)
              CgoFiles []string  // .go sources files that import "C"
              CFiles   []string  // .c source files
              HFiles   []string  // .h source files
              SFiles   []string  // .s source files
              SysoFiles []string // .syso object files to add to archive

              // Cgo directives
              CgoCFLAGS    []string // cgo: flags for C compiler
              CgoLDFLAGS   []string // cgo: flags for linker
              CgoPkgConfig []string // cgo: pkg-config names

              // Dependency information
              Imports []string // import paths used by this package
              Deps    []string // all (recursively) imported dependencies

              // Error information
              Incomplete bool            // this package or a dependency has an error
              Error      *PackageError   // error loading package
              DepsErrors []*PackageError // errors loading dependencies

              TestGoFiles  []string // _test.go files in package
              TestImports  []string // imports from TestGoFiles
              XTestGoFiles []string // _test.go files outside package
              XTestImports []string // imports from XTestGoFiles
          }

-json
    The -json flag causes the package data to be printed in JSON format instead of using the template format.

-e  The -e flag changes the handling of erroneous packages, those that cannot be found or are malformed. By default, the list command prints an error to standard error for each erroneous package and omits the packages from consideration during the usual printing. With the -e flag, the list command never prints errors to standard error and instead processes the erroneous packages with the usual printing. Erroneous packages will have a non-empty ImportPath and a non-nil Error field; other information may or may not be missing (zeroed).

For more about specifying packages, see go-packages(7).

AUTHOR

This manual page was written by Michael Stapelberg <stapelberg@debian.org>, for the Debian project (and may be used by others).