// Copyright 2011 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/*
Go is a tool for managing Go source code.

Usage: go command [arguments]

The commands are:

    build       compile and install packages and dependencies
    clean       remove intermediate objects
    fix         run gofix on packages
    fmt         run gofmt -w on packages
    get         download and install packages and dependencies
    install     install packages and dependencies
    list        list packages
    test        test packages
    version     print Go version
    vet         run govet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

    gopath      GOPATH environment variable
    importpath  description of import paths
    remote      remote import path syntax

Use "go help [topic]" for more information about that topic.
*/
package documentation
