Course Highlights
  • Build massively concurrent programs with Go Routines and Channels
  • Learn the advanced features of Go
  • Understand the differences between commonly used data structures
  • Prove your knowledge with dozens of included quiz questions
  • Apply Interfaces to dramatically simplify complex programs
  • Use types to future-proof your code and reduce the difficulty of refactors
Curriculum

7 Topics
How to Get Help
Course Resources
Join Our Community!
Environment Setup
VSCode Installation
Go Support in VSCode
Gopls undeclared name type and module errors in VSCode

7 Topics
Boring Ol' Hello World
Five Important Questions
Go Packages
Import Statements
File Organization
Test Your Knowledge: Packages
How to Access Course Diagrams

33 Topics
Project Overview
New Project Folder
Variable Declarations
Test Your Knowledge: Variable Assignment
Functions and Return Types
Test Your Knowledge: Functions
Slices and For Loops
Test Your Knowledge: Slices and For Loops
OO Approach vs Go Approach
Custom Type Declarations
Receiver Functions
Test Your Knowledge: Functions with Receivers
Creating a New Deck
Slice Range Syntax
Multiple Return Values
Test Your Knowledge: Multiple Return Values
Byte Slices
Deck to String
Joining a Slice of Strings
Saving Data to the Hard Drive
Reading From the Hard Drive
Error Handling
Shuffling a Deck
Random Number Generation
Creating a go.mod File
Testing With Go
Errorf call has arguments but no formatting directives
Writing Useful Tests
Asserting Elements in a Slice
Testing File IO
Project Review
Assignment: Even or Odd?
Even or Odd Solution

14 Topics
Structs in Go
Defining Structs
Declaring Structs
Updating Struct Values
Embedding Structs
Structs with Receiver Functions
Pass By Value
Structs with Pointers
Pointer Operations
Pointer Shortcut
Gotchas With Pointers
Test Your Knowledge: Pointers
Reference vs Value Types
Test Your Knowledge: Value vs Reference Types

5 Topics
What's a Map?
Manipulating Maps
Iterating Over Maps
Differences Between Maps and Structs
Test Your Knowledge: Maps

21 Topics
Purpose of Interfaces
Problems Without Interfaces
Interfaces in Practice
Rules of Interfaces
Extra Interface Notes
The HTTP Package
Reading the Docs
More Interface Syntax
Interface Review
The Reader Interface
More on the Reader Interface
Working with the Read Function
The Writer Interface
The io.Copy Function
The Implementation of io.Copy
A Custom Writer
Test Your Knowledge: Interfaces
Assignment: Interfaces
Interfaces Solution
Assignment: Hard Mode Interfaces
Hard Mode Interfaces Solution

15 Topics
Website Status Checker
Printing Site Status
Serial Link Checking
Go Routines
Theory of Go Routines
Channels
Channel Implementation
Blocking Channels
Receiving Messages
Repeating Routines
Alternative Loop Syntax
Sleeping a Routine
Function Literals
Channels Gotcha!
Channels and Go Routines

1 Topic
Bonus!

  Write a Review

Go: The Complete Developer's Guide (Golang)

Go to Paid Course