Go Education

This is a range of Golang education materials I'm using to teach beginner level Go

View project on GitHub

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