Go Programming – Detailed Course Outline
Copyright © 2016 - 2024, 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