Learning Go
Welcome. This is a small page which tells you about how the course is run and what we will be covering each week.
The main purpose of the course is to jump start developers into learning Go with the view that they can start writing Go on their projects. The first couple of lessons are designed to cover the absolute basics and assumes no prior knowledge of Go. After the basics, we will be moving onto some more immediate/advanced topics. We will then be doing a deep dive into 1-2 of the standard library packages per week. The topics covered may change slightly depending on our progress.
Lesson 1
- Intro to the course
- About Go and its origins
- Go’s basic tooling
- Learn about Go’s syntax
- Control structures
- Storing data
- TASK - Maps exercise
- Flags package
- TASK - Build a service
Lesson 2
- Go proverbs
- Testing
- TASK testing
- Interfaces
- TASK interfaces
- Error handling
- Pointers
- TASK web service refactor
Lesson 3
- Dependency Management
- Concurrency
- Context
- TASK - Context
- TASK - Web service
Lesson 4
- Mutexs
- TASK - Mutex excercise
- Go in production
- Understanding nil
- The Go Community
- TASK web service
Lesson 5
- Laying out you’re Go app
- Design patterns in Go
Lesson 6
- Avoiding allocations and using memory
- Profiling
Lesson 7
- Recap lesson content submmitted by students
Lesson 8 +
- Standard library packages 1-2 per week