1. Background and fundamentals
1.2.2. A modern standard library
1.3. Go in the vast language landscape
1.4. Getting up and running in Go
1.4.2. Working with Git, Mercurial, and version control
2.1. Working with CLI applications, the Go way
2.3. Working with real-world web servers
3.1. Understanding Go’s concurrency model
Technique 10 Using goroutine closures
Chapter 4. Handling errors and panics
Technique 16 Minimize the nils
Chapter 5. Debugging and testing
5.5. Using performance tests and benchmarks
Technique 29 Benchmarking Go code
3. An interface for your applications
Chapter 6. HTML and email template patterns
6.1. Working with HTML templates
6.1.1. Standard library HTML package overview
6.1.2. Adding functionality inside templates
6.1.3. Limiting template parsing
6.2. Using templates for email
Chapter 7. Serving and receiving assets and forms
Technique 39 Serving subdirectories
Technique 40 File server with custom error pages
Technique 41 Caching file server
7.2.1. Introduction to form requests
Chapter 8. Working with web services
8.2. Passing and handling errors over HTTP
4. Taking your applications to the cloud
Chapter 10. Communication between cloud services
10.1. Microservices and high availability
10.2. Communicating between services
Chapter 11. Reflection and code generation
11.1. Three features of reflection
Technique 66 Switching based on type and kind
Technique 67 Discovering whether a value implements an interface
11.2. Structs, tags, and annotations
11.3. Generating Go code with Go code
3.138.69.163