This repository contains a collection of Go programs and libraries that demonstrate the language, standard libraries, and tools.
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)
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)
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.
The go/types
package is a type-checker for Go programs. It is one of the most
complex packages in Go's standard library, so we have provided this tutorial to
help you find your bearings. It comes with several example programs that you
can obtain using go get
and play with as you learn to build tools that analyze
or manipulate Go programs.
A trivial web server that demonstrates the use of the
template
package's block
feature.