Last Update: Feb 25, 2024

Essential practical training for Go programming

  • Free

About Course

Go is a statically typed compiled language famous for its straightforward, simple syntax. It addresses the common pitfalls of C while maintaining its performance and interoperability.

Despite this simplicity, Go is designed to handle concurrency. And it suffers from the complexity this entails.

Go is also quite idiomatic, which makes best practices a little elusive.

Another amazing feature of Go is that like Python, you can write both functional and Object-Oriented codes in Go.

Why Learn Go?

  • Go (or Golang) is an open source programming language designed to build fast, reliable, and efficient software at scale.
  • Google uses Go specifically for its large networks of servers, and Go also powers much of Google’s own cloud platform. Developers use Go in application development, web development, in operations and infrastructure teams, and much more. It is the language of Cloud Native infrastructure, blockchain Hyperledger Fabric and software development.
  • As Go’s popularity and adoption continue to increase, we’ll see even greater usage and more creative implementations of the language!

Learning Objectives

After finishing this self-paced course, you will learn:

  • The setup of a Go environment and how to create a Go file.
  • Go’s data types and variables.
  • Go’s constants
  • Go’s conditional statements.
  • Go for and while loops
  • Using functions in Go.
  • How to import or install Go packages
  • How to work with arrays in Go
  • How to harness the power of Slices in Go

Topics and Subtopics

Here is the course outline:

1. Golang Installation, Setup, GOPATH, and Go Workspace

  • Installations on Linux, Mac or Windows
  • The Go tool
  • GOPATH, Go Workspace, and Go Code Organization


2. Hello Golang: Writing your first Golang Program

3. Golang Variables, Zero Values, and Type Inference

  • Introduction to Variables and Data Types
  • Declaring Variables
  • Zero values
  • Declaring Variables with initial Value
  • Type inference
  • Short Declaration

4. Golang Basic Types, Operators and Type Conversion

  • Numeric Types
  • Operations on Numeric Types
  • Booleans
  • Operations on Boolean Types
  • Complex Numbers
  • Operations on complex numbers
  • Strings
  • Type Conversion

5. Working with Constants in Golang

  • Declaring a Constant
  • Typed and Untyped Constants
  • Constants and Type inference: Default Type
  • Constant expressions
  • Constant Expression Examples

6. Golang Control Flow Statements: If, Switch and For

  • If Statement
  • If-Else Statement
  • If-Else-If Chain
  • If with a short statement
  • Switch Statement
  • Switch with a short statement
  • Combining multiple Switch cases
  • Switch with no expression
  • For Loop

7. Introduction to Functions in Golang

  • Declaring and Calling Functions in Golang
  • Functions with multiple return values
  • Returning an error value from a function
  • Functions with named return values
  • Blank Identifier

8. A Beginner Guide to Packages in Golang

  • Go Package
  • The main package and main() function
  • Importing Packages
  • Creating and managing custom Packages
  • Adding 3rd party Packages
  • Manually installing packages

9. Working with Arrays in Golang

  • Declaring an Array in Golang
  • Accessing array elements by their index
  • Initializing an array using an array literal
  • Letting Go compiler infer the length of the array
  • Exploring more about Golang arrays
  • Iterating over an array in Golang
  • Iterating over an array using range
  • Multidimensional arrays in Golang

10. Introduction to Slices in Golang

  • Declaring a Slice
  • Creating and Initializing a Slice
  • Modifying a slice
  • Length and Capacity of a Slice
  • Creating a slice using the built-in make() function
  • Zero value of slices
  • Slice Functions
  • Slice of slices
  • Iterating over a slice



Related Courses

Complete Training Bundle

If you are serious about becoming a pro software engineer, you should enroll in our Complete Training Bundle for Software Engineers class, This bundle covers all essential and practical topics related to software design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to software development like Python, Java, Kotlin, C/C++ Go and more. Click here to learn more.

Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:

What Is Next?

After finishing this course, you can enroll in any of following classes:

Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:

Show More

What Will You Learn?

  • Learn new things
  • Revamp your career
  • Target IT jobs
  • Sharpen your skills
Free access this course


  • A laptop or PC
  • Good Internet
  • Routine Study
  • Regular Join Class