Core Go Lang

Duration: 3 days

Please find the course objectives below:

Introduction to Go

  • Purpose and Design of the Go Programming Language
  • Language and run-time library
  • Programs and Packages
  • The Go development environment
  • Workspaces
  • Dependency Management
  • Unit Testing

Go Basics

  • Structure of a Go program
  • Package
  • Functions and the main() function
  • Importing and using packages
  • Variables
  • Scalar data types: Numbers and Strings
  • Vector data types: Arrays, Slices and Maps
  • Pointers
  • Control structures
  • Functions
  • Parameters
  • Return values
  • Multiple return values
  • Closures
  • Errors and error handling

Intermediate Go

  • Complex types
  • Structs
  • Members
  • Anonymous members
  • Pointers to Structs
  • Arrays and Maps of Structs
  • Looping & Ranges - Arrays & Slices
  • Looping & Ranges - Maps
  • Defining interfaces
  • Implicitness of Interfaces
  • Encapsulation
  • Packages as namespaces
  • Variable scope
  • Structs as namespaces
  • Methods encapsulation -Polymorphism
  • Control flow
  • panic and recover
  • defer

Some core Go packages and tools

  • Formatting and Templates
  • Unit testing
  • File I/O
  • Database Connectivity
  • Web development

Advanced Go

  • Concurrency
  • Understanding the Go model of concurrency
  • Goroutines
  • Channels and coordination
  • Creating Go packages

Robustness and error management

  • Encapsulation vs. exposure
  • Documentation
  • Publishing
  • Interfacing Go with other languages
For an onsite course please contact us