Go Modern Backend Development with Go

Master Go programming with a focus on building cloud-native applications, microservices, and containerized backends. Learn the language that powers Kubernetes, Docker, and modern infrastructure.

5 days

No Prerequisites Required

Jump right in! All you need is a web browser. We provide everything else.

Just a Browser

No software installation needed

Lab Environment

Fully configured and ready to use

What You'll Learn

Go has become the language of choice for cloud-native development, powering everything from Kubernetes to Docker to modern microservices. This practical training teaches you Go programming with a specific focus on building production-ready, containerized applications and cloud-native services. The end goal is to create a typical REST API using Go.

  • Master Go syntax, idioms, and best practices
  • Build REST APIs and microservices with Go
  • Build cloud-native applications following 12-factor principles
  • Work with databases and data persistence in Go
  • Write comprehensive tests
1

Go Fundamentals

Master the core concepts and syntax of Go programming

Setting up the Go development environment
Go language overview and ecosystem
Program structure
Variables, types, and constants
Control structures
Scope
2

Basic Data Types

Working with Go's built-in basic data types

Numbers (integers, floats, etc)
Booleans
Strings
3

Composite Types

Working with Go's built-in composite types

Arrays
Slices
Maps
Structs
JSON
Text and Templates
4

Functions

Understanding and using functions in Go

Function declaration and definition
Multiple return values
Error handling
Function values and closures
Anonymous, variadic and deferred functions
Panic and recover
5

Methods

Why use methods over functions

Method declaration and definition
Method receivers and pointer receivers
Method values and expressions
6

Interfaces

Go's unique approach to interfaces

Interfaces as contracts
Interface types
Implicit interface implementation (satisfaction)
Typical use cases in the stdlib
Interface values
Type assertions and switches
7

Concurrency

Go's concurrency model and its benefits

Goroutines
Channels
Looping in parallel
Multiplexing with select
Contexts
Cancellation
Concurrency with shared variables
8

Packages and modules

Go's package management system and best practices

Packages vs modules
Package declaration and naming
Importing packages
Versioning and dependency management
9

Testing

Built-in testing framework and tools

The go test tool
Test functions
Coverage, benchmarks
Example functions
Testing patterns (golden, table-driven)
Assertions
Advanced features of the testing framework
10

CLI

Building command-line interfaces

Arguments and flags
Environment variables
Popular CLI frameworks
Configuration management
Logging
11

API paradigms

Learn the differences between REST, GraphQL, RPC

HTTP basics: verbs, headers, status codes
Authentication and authorization
Built-in http package: handlers, middleware, routing
Ecosystem overview (web frameworks)
Error handling
12

Persistence

Learn about databases and persistence in Go

Working with files (filesystem, object storage)
Database connectivity and drivers
Using ORM and query builder libraries