Introduction
  • Valuable Resources
  • Why go?
  • How to succeed
Course Overview
  • Course resources
  • Documentation
  • Accelerate learning
Your development environment
  • The terminal
  • Bash on windows
  • Shell / bash commands I
  • Shell / bash commands II
  • Installing Go
  • Go modules - introduction
  • Go workspace
  • Environment variables
  • IDE's
  • Go commands
  • Github repos
  • Github explored
  • Package management
  • Go modules overview
  • Creating a go module
  • Adding a dependency
  • Upgrading dependencies
Variables, values, & type
  • Playground
  • Hello world
  • Introduction to packages
  • Short declaration operator
  • The var keyword
  • Exploring type
  • Zero value
  • The fmt package
  • Creating your own type
  • Conversion, not casting
Exercises - Ninja Level 1
  • Hands-on exercise #1
  • Hands-on exercise #2
  • Hands-on exercise #3
  • Hands-on exercise #4
  • Hands-on exercise #5
  • Hands-on exercise #6
Programming fundamentals
  • Bool type
  • How computers work
  • Numeric types
  • String type
  • Numeral systems
  • Constants
  • Iota
  • Bit shifting
Exercises - Ninja Level 2
  • Hands-on exercise #1
  • Hands-on exercise #2
  • Hands-on exercise #3
  • Hands-on exercise #4
  • Hands-on exercise #5
  • Hands-on exercise #6
  • Hands-on exercise #7
Control flow
  • Understanding control flow
  • Loop - init, condition, post
  • Loop - nesting loops
  • Loop - for statement
  • Loop - break & continue
  • Loop - printing ascii
  • Conditional - if statement
  • Conditional - if, else if, else
  • Loop, conditional, modulus
  • Conditional - switch statement
  • Conditional - switch statement documentation
  • Conditional logic operators
Exercises - Ninja Level 3
  • Hands-on exercise #1
  • Hands-on exercise #2
  • Hands-on exercise #3
  • Hands-on exercise #4
  • Hands-on exercise #5
  • Hands-on exercise #6
  • Hands-on exercise #7
  • Hands-on exercise #8
  • Hands-on exercise #9
  • Hands-on exercise #10
Grouping data
  • Array
  • Slice - composite literal
  • Slice - for range
  • Slice - slicing a slice
  • Slice - append to a slice
  • Slice - deleting from a slice
  • Slice - make
  • Slice - multi-dimensional slice
  • Map - introduction
  • Map - add element & range
  • Map - delete
Exercises - Ninja Level 4
  • Hands-on exercise #1
  • Hands-on exercise #2