Introduction to the Course

Get introduced to the history and core concepts of Go.

Test driven development and Go

This course will guide us toward test-driven development (TDD) using Go, along with an introduction to the directives that drive this approach.


The prerequisites that you should have to successfully complete this course are:

  1. Knowledge of Go’s fundamentals
  2. Prior experience in writing programs using Go
  3. Basic knowledge of object-oriented programming (OOP) principles
  4. Some prior knowledge about unit tests

Learning objectives

This course will provide the following outcomes:

  1. Learn how to write unit tests in Go
  2. Discover what TDD is
  3. Write projects with the TDD approach

Fun fact

There is one thing we need to clarify before moving on: is it “Golang” or “Go?” Is there any difference? It’s very simple. The first domain name with which Go was released was, so it’s also referred to as “Golang.” The proper name is “Go,” but to make searching on the net a little bit easier (the word “go” is too generic) we can use the term “Golang” to filter out only relevant matches.

How to follow this course

To get the most out of the course, try following these tips:

  1. Before going to the next lesson, make sure you understand everything explained in the current lesson.
  2. Whenever you deal with a code snippet, try doing the following:
    1. Change input values of a program.
    2. Change arguments of functions or methods.
  3. Make sure to also cover edge cases and not just what’s presented in the lesson.
  4. Make sure to practice with some exercises for each topic.

Course structure

The course has four main sections. It starts with some fundamentals of Go, then moves on to tests, and then to TDD. The final part is about building projects to gain hands-on experience.

Happy learning!