xenial (7) go-path.7.gz

Provided by: golang-go_1.6-1ubuntu4_amd64 bug

NAME

       go - tool for managing Go source code

DESCRIPTION

       The  Go  path  is used to resolve import statements.  It is implemented by and documented in the go/build
       package.

       The GOPATH environment variable lists places to look for Go  code.   On  Unix,  the  value  is  a  colon-
       separated  string.   On  Windows,  the  value is a semicolon-separated string.  On Plan 9, the value is a
       list.

       GOPATH must be set to build and install packages outside the standard Go tree.

       Each directory listed in GOPATH must have a prescribed structure:

       The src/ directory holds source code.  The path below 'src' determines  the  import  path  or  executable
       name.

       The  pkg/ directory holds installed package objects.  As in the Go tree, each target operating system and
       architecture pair has its own subdirectory of pkg (pkg/GOOS_GOARCH).

       If DIR is a directory listed in the GOPATH, a package with source in DIR/src/foo/bar can be  imported  as
       "foo/bar" and has its compiled form installed to "DIR/pkg/GOOS_GOARCH/foo/bar.a".

       The bin/ directory holds compiled commands.  Each command is named for its source directory, but only the
       final element, not the entire path.  That is, the command with source in  DIR/src/foo/quux  is  installed
       into  DIR/bin/quux,  not DIR/bin/foo/quux.  The foo/ is stripped so that you can add DIR/bin to your PATH
       to get at the installed commands.  If the GOBIN environment variable is set, commands  are  installed  to
       the directory it names instead of DIR/bin.

       Here's an example directory layout:

           GOPATH=/home/user/gocode

           /home/user/gocode/
               src/
                   foo/
                       bar/               (go code in package bar)
                           x.go
                       quux/              (go code in package main)
                           y.go
               bin/
                   quux                   (installed command)
               pkg/
                   linux_amd64/
                       foo/
                           bar.a          (installed package object)

       Go  searches  each directory listed in GOPATH to find source code, but new packages are always downloaded
       into the first directory in the list.

AUTHOR

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

                                                   2012-05-13                                         GO-PATH(7)