With all it's greatness and simplicity, Golang also has it's quirks and particularities.
This repo showcases different, fundamental, aspects of Go, tied up with a presentation made with Go present.
It contains the following main sections:
- Small demonstration of Go's strong points
- Brief intro on how Go works
- Showcase of small quirks
- A practical example with a client, a crawler, handlers, and a server.
The primary goal of this repo was to serve as a basis for talks and presentations.
It does not represent a full detailed guid on doing things.
This means it can contain code that is not that clean or consistent, and that the project layout is not ideal.
- Install Present (you can follow this intuitive and clear blog post).
- Run the
presentcommand within the present folder. - Visit the URL displayed in the command line.
All the code contained in the repo should work, with tests passing. You can just browse it and use it for your needs.
- Package Oriented Design (Bill Kennedy)
- Project Layout
- ArdanLabs Training
- ArdanLabs Service Starter
- Go Proverbs
- Go Concurrency Patterns
- Hashimoto, Advanced Testing in Go
- Ben Johnson, Testing in Go
- Go by Example
- Hashimoto, Advanced Testing in Go (Video)
- Ashley McNamara + Brian Ketelsen, Go best practices (Video)
- Blake Mizerany, Three fallacies of dependencies (Video)
- Upspin (Inspiration)
- Kubernetes (Inspiration)