README.md: change the build instruction

After go1.16, `go get` runs in modules mode, and it's not the
recommended way of installing binaries nor a way to fetch source
code. Given that this example repo is designed for new go users
who want to learn, it is better to guide users to clone the repo
using the git command.

Updated the instruction for appengine-hello since goapp is gone.
I didn't test the appengine-hello instruction myself and not sure
if it still runs.

Change-Id: I74a829203def9b062bee75637c7d2c6cef448a2f
Reviewed-on: https://go-review.googlesource.com/c/example/+/340113
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
1 file changed
tree: 8e5ffc194240504e205fef1995e3c88a612b4bfa
  1. appengine-hello/
  2. gotypes/
  3. hello/
  4. outyet/
  5. stringutil/
  6. template/
  7. go.mod
  8. go.sum
  9. LICENSE
  10. README.md
README.md

Go example projects

Go Reference

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

Clone the project

$ git clone https://go.googlesource.com/example
$ cd example

https://go.googlesource.com/example is the canonical Git repository. It is mirrored at https://github.com/golang/example.

hello and stringutil

$ cd hello
$ go build

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

$ cd outyet
$ go build

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

A trivial “Hello, world” App Engine application intended to be used as the starting point for your own code. Please see Google App Engine SDK for Go and Quickstart for Go in the App Engine Standard Environment.

gotypes

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.

template

A trivial web server that demonstrates the use of the template package's block feature.