Chapter 1. Getting into Go
Listing 1.1. Multiple returns: returns.go
Listing 1.2. Named return values: returns2.go
Listing 1.3. Read TCP status: read_status.go
Listing 1.4. HTTP GET: http_get.go
Listing 1.5. Concurrent output
Listing 1.6. Printing concurrently
Listing 1.7. Using channels: channel.go
Listing 1.8. Channel output
Listing 1.9. Single package import
Listing 1.10. Hello World: hello.go
Listing 1.11. Hello World test: hello_test.go
Listing 1.12. Running go test
Listing 1.13. Running go test failure
Listing 1.14. Testing with code coverage
Listing 1.15. Workspace layout
Listing 1.16. Hello World web server: inigo.go
Listing 1.17. Running inigo.go
Listing 1.18. Building inigo.go
Chapter 2. A solid foundation
Listing 2.1. Hello World CLI using flag package
Listing 2.2. Source of Hello World using flag package: flag_cli.go
Listing 2.3. Custom flag help text
Listing 2.4. flag package flag parsing
Listing 2.5. Using go-flags
Listing 2.6. Hello World CLI: hello_cli.go
Listing 2.7. Hello World CLI: hello_cli.go
Listing 2.8. Count up and down: count_cli.go
Listing 2.9. Parsing a JSON configuration file: json_config.go
Listing 2.10. Parsing a YAML configuration file: yaml_config.go
Listing 2.11. Parsing an INI configuration file: ini_config.go
Listing 2.12. Environment variable–based configuration: env_config.go
Listing 2.13. Start and stop applications with upstart
Listing 2.14. Callback shutdown URL: callback_shutdown.go
Listing 2.15. Graceful shutdown using manners: manners_shutdown.go