Ratings & reviews

5.02 ratings

Bostjan C.

7 days ago

Everything is explained concisely and clearly, and it’s given me a confidence boost in both reading and writing Go.

Adrian H.

48 days ago

IM still learning what it means to code and why it's necessary. I find this program very intuitive and hands on.


Complete all chapters to get certificate


Getting Started


In this section, you will be introduced to the Go programming language and learn how to create variables and constants. You will also learn how to do operations with values and manipulate variable values.

What is Go Programming Language?

Hello World

Comments in Go

Basics of Variables

Modifying Variable Values


Basics of Operators & Expressions

Challenge: Hello World

Challenge: Comments in Go

Challenge: Basics of Variables

Challenge: Constants

Data Types


In this section, we will learn about the different types of data in Go. We will learn how to deal with different Data Types and some basic operations that can be performed on that data.


Floating-Point Numbers




Basic Type Casting

String Formatting

Challenge: String Formatting Practice

Control Structures


In this section, we will learn about some important concepts which allow us to control the flow of the program. These concepts or features of a programming language are collectively known as Control Structures. In order to learn about these concepts, we need some knowledge of some additional operators, which we will explore at the beginning of this section.

Comparison Operators

Conditional Statements

Conditional Chaining

Logical Operators

Switch Statement

For Loop

Break Statement

Challenge: Practicing For Loop



In this section, we will learn about functions which are the building blocks of any programming language. We will learn how to create different kinds of functions and how to use them. We will also learn about scopes of variables which will help us in working with functions.

Declaring and Defining Functions

Local and Global Scopes

Passing Data into the Functions

Return Values from Functions

Multiple Return Values

Passing Functions as Arguments

Challenge: Reviewing Concepts of Functions

Arrays and Slices


In this section, we will learn about a very useful data type called Array that can be used for tasks where we need to store a bigger quantity of similar data and some other cases as well. Will will learn how to create, use and manipulate arrays. Additionally, we will also learn how to use arrays to pass a variable number of arguments into a function. In this section, we will also learn about slices which are similar to arrays however differ in fundamental quality.

Declaring Arrays

Accessing and Modifying Array Elements


Length vs Capacity

Multi-Dimensional Arrays

Iterating Over Arrays

Passing Variable Number of Arguments into Functions

Passing Arrays into Functions

Challenge: Finding the Largest Element in a Grid

Intro to Structs & Maps


In this section, we will learn about two very useful data types, namely Structs (Structures) and Maps.

Creating Structs

Creating Instances of Structs

Data in Structs

What are Maps?

Map Declaration and Initialization

Accessing Map Values

Deleting Keys From Maps

Challenge: Creating a Structure