Course outline for Golang

TechnologyGolangDuration2-5 days

About Golang

Lab Setup

Hardware Configuration

Participants must have access to a system with the following hardware configuration:

  • 2GB of free RAM, 20GB of free disk space and full network connectivity

Software configuration

  • Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)
  • Visual Studio Code (or some other IDE is preferred)

How we train

Online training for Golang

  • Instructor-led live cohorts
  • Self-paced learning with expert coaches
  • 24x7 cloud labs with end-to-end examples

All sessions are 100% hands-on. Labs and activities are derived from real-world work our engineers deliver.

Classroom training

Available for corporate teams in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR
  • Pune

Note: Classroom training is for corporate clients only.

Self-paced hands-on sessions are delivered via VirtualCoach.

Detailed Course Outline

Hands-on

Introduction to Go

  • Why Go?
  • Installing Go
  • Go - Hello World

Language Basics

  • Types
  • Numbers
  • Strings
  • Variables
  • Conditionals

Functions

  • The general syntax
  • Multiple returns
  • Scoping rules
  • defer keyword
  • Variable number of arguments
  • Pass by value/reference
  • First class functions
  • Closures

Collections

  • Arrays
  • Slices
  • Maps
  • Pointers in Go
  • Looping techniques

Modularisation of code

  • Using built-in packages in Go
  • Working with JSON - a case study
  • Building your own packages

Structs and Interfaces

  • Structures
  • Methods in Go structures
  • Interfaces
  • Object Orientation in Go
  • Inheritance v/s Composition

Goroutines and Channels

  • Concurrency in Go
  • Comparison with other concurrency control designs
  • Goroutines
  • Channels
  • Buffered Channels
  • Selecting from multiple channels
  • Fan-in pattern

Files and Directories

  • Reading Files
  • Writing Files
  • Handling I/O Errors

Error Handling

  • Exception handling basics
  • Error handling in Go

Working with third party packages

  • Installing third party packages
  • Working with MongoDB - a case study
  • Working with a REST server - a case study