learning-go

Learn Go by building a REST API and a Command Line Interface (CLI)

Go Checklist

This page compares what we are going to cover when compared with the Go Tour.

Basics

Packages, variables, and functions

Topic Covered?
Packages
Imports
Exported names
Functions
Multiple results
Named return values -
Variables
Variables with initializers -
Short variable declarations
Basic types
Zero values -
Type conversions -
Type inference
Constants
Numeric Constants -

Flow control statements: for, if, else, switch and defer

Topic Covered?
For
For is Go's "while"
Forever
If
If with a short statement -
If and else
Switch
Switch with no condition -
Defer
Stacking defers -

More types: structs, slices, and maps.

Topic Covered?
Pointers -
Structs
Struct Fields
Pointers to structs
Struct Literals
Arrays
Slices -
Slices are like references to arrays -
Slice literals -
Slice length and capacity -
Nil slices -
Creating a slice with make -
Slices of slices -
Appending to a slice -
Range -
Maps
Map literals -
Mutating Maps -
Function values
Function closures

Methods and interfaces

Topic Covered?
Methods
Methods are functions
Pointer receivers
Pointers and functions -
Methods and pointer indirection -
Choosing a value or pointer receiver -
Interfaces
Interfaces are implemented implicitly
Interface values
Interface values with nil underlying values -
Nil interface values -
The empty interface -
Type assertions -
Type switches -
Stringers -
Errors
Readers
Images

Concurrency

Topic Covered?
Goroutines -
Channels -
Buffered Channels -
Range and Close -
Select -
Default Selection -
sync.Mutex -

Next

The next section is Start the project for the Library.