Go Programming – Detailed Course Outline

Copyright ©  2016 - 2017, Anderson Software Group, Inc.

Section 1 - Getting Started

  • Go Runtime and Compilations
  • Keywords and Identifiers
  • Constants and Variables
  • Operators and Expressions
  • Local Assignments
  • Booleans, Numerics, Characters
  • Pointers and Addresses
  • Strings

Section 2 - Constructs

  • if-else and switch
  • for Statements
  • Counter-controlled Iterations
  • Condition-controlled Iterations
  • Range Loops
  • Using break and continue

Section 3 - Functions

  • Parameters and Return Values
  • Call by Value and Reference
  • Named Return Variables
  • Blank Identifiers
  • Variable Argument Parameters
  • Using defer statements
  • Recursive Functions
  • Functions as Parameters
  • Closures

Section 4 - Working with Data

  • Array Literals
  • Multidimensional Arrays
  • Array Parameters
  • Slices and Slice Parameters
  • Multidimensional Slices
  • Reslicing
  • Maps and Map Parameters
  • Map Slices
  • Structures and Structure Parameters
  • Structure Tags and Fields
  • Embedded Structures
  • Recursive Structures

Section 5 - Methods and Interfaces

  • Method Declarations
  • Functions vs. Methods
  • Pointer and Value Receivers
  • Method Values and Expressions
  • Interface Types and Values
  • Type Assertions and Type Switches
  • Method Sets with Interfaces
  • Embedded Interfaces
  • Empty Interfaces
  • Working with Interfaces

Section 6 - Goroutines and Channels

  • Concurrency vs. Parallelism
  • Goroutine Functions and Lambdas
  • Wait Groups
  • Channels
  • Sending and Receiving
  • Unbuffered and Buffered Channels
  • Directional Channels
  • Multiplexing with select
  • Timers and Tickers

Section 7 - Packages and Testing

  • Packages and Workspaces
  • Exporting Package Names
  • Import Paths and Named Imports
  • Package Initializations
  • Blank Imports
  • Unit Testing with Test Functions
  • Table Tests and Random Tests
  • Benchmarking

Section 8 - Working with Go

  • Files and Directories
  • Reading Directories
  • Reading Files
  • Writing Files
  • Copying Files
  • Error Strategies
  • Panic and Recover
  • Package Error Handling
  • Regular Expressions

Appendix - Go Tools