Practical Go Foundations

This introductory course explores topics like strings, REST APIs, error handling, testing, sorting, and more! Perfect for engineers just starting their journey into Go.

 Intermediate |  16+HR

This course is part of the Ultimate Go Track

Not sold separately. View our pricing below.

Course Introduction

This course will help you become familiar with the basic concepts of the Go programming language. Through lectures and coding exercises, you’ll learn about the core concepts needed to become a productive Go developer.

Free Preview
Interested In Team Training? Request Information



This course is part of the Ultimate Go Track. Not sold separately.

Please Note: All of our bundles are for a one-year subscription.

At the end of the subscription period, your membership does not automatically renew.


You need to know how to program and core concepts of working with computers (such as files, HTTP, memory management…)

  • A basic understanding of the Go programming language.
  • Completed at least the majority of the Go Tour.

You should have the following installed on your computer prior to the workshop:

  • Go SDK from
  • An IDE, either VSCode with Go extension or GoLand
  • Git

Course Outline

What is a string?

Unicode basics

Using fmt package for formatted output

Making HTTP calls with net/http

Defining structs

Serializing JSON

Handling errors

Using defer to manage resources

Working with io.Reader & io.Writer interfaces

Working with slices

Writing methods

Understanding interfaces

The built-in recover function

Named return values

Reading line by line with bufio.Scanner

Using regular expressions

Using goroutines & channels

Using the sync package to coordinate work

Working with multiple channels using select

Using context for timeouts & cancellations

Standard library support for context

Working with the testing package

Using testify

Managing dependencies with go mod

Writing sub-packages

Writing handlers

Using gorilla/mux for routing

Using expvar for metrics

Using the log package and a look at user/zap

Reading environment variables and a look at external packages

Using the flag package for command line processing

Ready to get started?

Other Courses


The Ultimate Go Bundle includes all of the following courses:

  • Ultimate Go: Syntax
  • Ultimate Go
  • Ultimate Go: Web Services with Kubernetes
  • Ultimate Go: Advanced Engineering
  • Ultimate Go: Refactoring
  • Writing Secure Go Code
  • Ultimate Go Notebook

+ Plus Additional Free Content

The High-Performance bundle includes all of the courses listed above, plus the courses in our Intensive Docker & Kubernetes bundle.

Note: This includes any new courses added during your subscription year.

No, courses are only available as part of a bundle. These courses are designed to sync up with the other courses included in the bundle to give you the best possible experience.
Your subscription is yearly based. You will have a full year to view any of the courses in your bundle along with any new ones released during your subscription year.
You are able to view any course, any chapter or any lesson you want in whatever order you want. These courses are designed to compliment each other but if you feel comfortable with a particular lesson you are able to skip ahead.
Yes! All of our courses come with a Certificate of Completion that you will receive at the end / completion of each of the courses.

Trusted by companies of all sizes

Let’s start a conversation

Reach out and let us know what you are interested in.