Why Go?
Installing Go
Go Tooling
Hello, World!
Editors and IDEs
Declaring Variables
Short Variable Declaration
Basic Data Types
Constants in Go
Zero Value Explained
Explicit Conversions
String Conversions
String Formatting Verbs
Sprintf in Action
Gotcha! Implicit Conversion
Pointers: What & Why?
Declaring Pointers
Address-Of Operator
Dereferencing Pointers
Pointers in Functions
Defining Structs
Creating Struct Instances
Embedded Structs
Methods on Structs
Struct Composition
Defining Interfaces
Implementing Interfaces
Polymorphism in Action
Type Assertions
Type Switches
Modules: What & Why?
Creating go.mod
Adding Dependencies
Updating Dependencies
Vendoring Dependencies
Code Formatting (gofmt)
Effective Comments
Error Handling
Clean Code Principles
Linters and Static Analysis
Generics: An Overview
Fuzzing: Finding Bugs
WebAssembly (Wasm)
gRPC and Microservices
The Future of Go