# Table of contents

* [Learn Go with Tests](gb-readme.md)

## Go fundamentals

* [Install Go](install-go.md)
* [Hello, World](hello-world.md)
* [Integers](integers.md)
* [Iteration](iteration.md)
* [Arrays and slices](arrays-and-slices.md)
* [Structs, methods & interfaces](structs-methods-and-interfaces.md)
* [Pointers & errors](pointers-and-errors.md)
* [Maps](maps.md)
* [Dependency Injection](dependency-injection.md)
* [Mocking](mocking.md)
* [Concurrency](concurrency.md)
* [Select](select.md)
* [Reflection](reflection.md)
* [Sync](sync.md)
* [Context](context.md)
* [Intro to property based tests](roman-numerals.md)
* [Maths](math.md)
* [Reading files](reading-files.md)
* [Templating](html-templates.md)
* [Generics](generics.md)
* [Revisiting arrays and slices with generics](revisiting-arrays-and-slices-with-generics.md)

## Testing fundamentals

* [Introduction to acceptance tests](intro-to-acceptance-tests.md)
* [Scaling acceptance tests](scaling-acceptance-tests.md)
* [Working without mocks](working-without-mocks.md)

## Build an application

* [Intro](app-intro.md)
* [HTTP server](http-server.md)
* [JSON, routing and embedding](json.md)
* [IO and sorting](io.md)
* [Command line & package structure](command-line.md)
* [Time](time.md)
* [WebSockets](websockets.md)

## Questions and answers

* [OS Exec](os-exec.md)
* [Error types](error-types.md)
* [Context-aware Reader](context-aware-reader.md)
* [Revisiting HTTP Handlers](http-handlers-revisited.md)

## Meta

* [Why unit tests and how to make them work for you](why.md)
* [Anti-patterns](anti-patterns.md)
* [Contributing](contributing.md)
* [Chapter Template](template.md)