The Go project itself contains a number of subdirectories. This document will provide a brief overview, but many of these directories have individual README.md or README files that describe their purpose in detail.
The api directory contains machine checkable specifications for the Go standard library, to help enforce the Go 1 compatibility promise.
The bin directory contains the binaries of the project: go, godoc, and gofmt.
The blog directory contains the source and templates for the Go blog. However, the code for serving the blog is at https://godoc.org/golang.org/x/blog
The doc directory contains the resources served at https://golang.org/doc/
The lib directory contains a single subdirectory lib/time which contains a copy of the time zone database that Go uses if it cannot find the operating systems copy.
The misc/cgo directory contains tests and examples of cgo.
The misc/chrome directory contains a Chrome extension for Go contributors.
The misc/git directory contains a pre-commit hook to ensure that go files have been run through gofmt.
The misc/linkcheck directory contains a program for ensuring there are no missing links in the godoc website.
The misc/nacl directory contains Go's integration with nacl, which is used by the Go playground.
The misc/sortac directory contains a utility for sorting the AUTHORS and CONTRIBUTORS files.
The misc/swig directory contains examples of using Go with SWIG.
The misc/tour directory contains the resources and source code for the Go tour.
The misc/trace directory contains a generated file used by go tool trace.
The pkg directory contains platform-specific build artifacts. It will always contain the following:
The pkg/tool directory contains the platform-specific tool chain exposed by the go tool command.
The src directory contains the source code for the standard library and, in src/cmd, tool chain.
The test directory contains extensive additional tests for the runtime and tool chain.