Provided by: golang-go_1.2.1-2ubuntu1_amd64 bug


       go - tool for managing Go source code


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


       List lists the packages named by the import paths, one per line.

       The default output shows the package import path:



       -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).


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

                                            2012-05-13                                 GO-LIST(1)