Go example projects

This repository contains a collection of Go programs and libraries that demonstrate the language, standard libraries, and tools.

The examples

hello (godoc) and stringutil (godoc)

go get github.com/golang/example/hello

A trivial “Hello, world” program that uses a stringutil package.

Command hello covers:

  • The basic form of an executable command
  • Importing packages (from the standard library and the local repository)
  • Printing strings (fmt)

Library stringutil covers:

  • The basic form of a library
  • Conversion between string and []rune
  • Table-driven unit tests (testing)

outyet (godoc)

go get github.com/golang/example/outyet

A web server that answers the question: “Is Go 1.x out yet?”

Topics covered:

  • Command-line flags (flag)
  • Web servers (net/http)
  • HTML Templates (html/template)
  • Logging (log)
  • Long-running background processes
  • Synchronizing data access between goroutines (sync)
  • Exporting server state for monitoring (expvar)
  • Unit and integration tests (testing)
  • Dependency injection
  • Time (time)

appengine-hello (godoc)

goapp get github.com/golang/example/appengine-hello

A trivial “Hello, world” App Engine application intended to be used as the starting point for your own code.

Note: The goapp tool is part of the Google App Engine SDK for Go.