Skip to content

FileTreeDocumentation

jimmyfrasche edited this page Oct 5, 2017 · 9 revisions

Go project directory layout

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.

api

The api directory contains machine checkable specifications for the Go standard library, to help enforce the Go 1 compatibility promise.

bin

The bin directory contains the binaries of the project: go, godoc, and gofmt.

blog

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

doc

The doc directory contains the resources served at https://golang.org/doc/

lib

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.

misc

misc/android

misc/arm

misc/cgo

The misc/cgo directory contains tests and examples of cgo.

misc/chrome

The misc/chrome directory contains a Chrome extension for Go contributors.

misc/git

The misc/git directory contains a pre-commit hook to ensure that go files have been run through gofmt.

misc/ios

misc/linkcheck

The misc/linkcheck directory contains a program for ensuring there are no missing links in the godoc website.

misc/nacl

The misc/nacl directory contains Go's integration with nacl, which is used by the Go playground.

misc/sortac

The misc/sortac directory contains a utility for sorting the AUTHORS and CONTRIBUTORS files.

misc/swig

The misc/swig directory contains examples of using Go with SWIG.

misc/tour

The misc/tour directory contains the resources and source code for the Go tour.

misc/trace

The misc/trace directory contains a generated file used by go tool trace.

pkg

The pkg directory contains platform-specific build artifacts. It will always contain the following:

pkg/include

pkg/obj

pkg/tool

The pkg/tool directory contains the platform-specific tool chain exposed by the go tool command.

src

The src directory contains the source code for the standard library and, in src/cmd, tool chain.

test

The test directory contains extensive additional tests for the runtime and tool chain.

Clone this wiki locally