Course outline for Golang
About Golang
- Official Go Documentation - learn more about Golang here
- Github - Source code of Go
- Questions about Go
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