Course outline for Golang

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)

Duration

2-5 days

Training Mode

Online training for Golang

We provide:

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

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Golang

Classroom sessions are conducted in client locations in:

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

Note: Classroom training is for corporate clients only

Detailed Course Outline for Golang

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