Skip to main content

GoLang

Go also known as Golang, is an open-source, compiled, and statically typed programming language designed by Google. It focused on simplicity, reliability, and efficiency. This roadmap would help you as a developer to get started on learning about Go programming language.

To make your journey easier, pick a path

Basic Syntax

Mark as done

Done

Basic Syntax

Begin this roadmap section by learning the basic syntax for Go with the resources below.

Go Syntax Basic Tutorial

Introduction to Golang Programming

Learn Basic Golang Programming Language

Go Syntax optional

Conditionals

Mark as done

Done

Conditionals

Learn about conditionals in Golang, and the type of conditional statements you will find. See the resources below.

How To Write Conditional Statements in Go

Conditional Statements in Golang

How To Use If and Switch Statement in Golang optional

Combining Conditional Statements in Golang

Variables and declarations

Mark as done

Done

Variables and declarations

Variables are labels given to the values in Golang to store them. In Golang, a Declaration names a program entity and specifies some or all of its properties. Learn more about these from the resources below.

Variables in Go

Variables in Golang with Examples

Golang Variable Declarations

Switch Statement

Mark as done

Done

Switch Statement

In Golang, the switch statement lets you check multiple cases. Learn more about this from the resources below.

Switch Statement in Golang

Golang Tutorial - Switch Statement

How to Write Switch Statement in Go

Packages, Import and Export

Mark as done

Done

Packages, Import and Export

A package is a collection of source files in the same directory that are compiled together. Learn more about this including the import and export declarations of packages in Golang from the resources below.

A Beginner's Guide to Packages in Go

How to Write Packages in Go

Golang Import Tutorial

Export in Golang

Functions

Mark as done

Done

Functions

A function is a group of statements that exist within a program for the purpose of performing a specific task. Learn more about this from the resources below.

Working with functions in Go

Go Functions with Examples

Golang Tutorials - Functions

Functions in Go optional

Struct

Mark as done

Done

Struct

In Golang, a struct (short for "structure") is a collection of data fields with declared data types. Learn more about this from the resources below.

Go Struct - Working with Structures in Go

Structs in Golang

Go by Examples: Struct

Structs optional

Type Casting/Type conversion

Mark as done

Done

Type Casting/Type conversion

Type Casting also referred to as Type Conversion happens when the variable of one data type is converted to another data type. Learn more about this from the resources below.

Type casting in Go

Golang Tutorial for Beginners - Type Conversion

Go Type Casting with Examples

Type Inference

Mark as done

Done

Type Inference

Type inference is the ability of programming languages (in this case, Golang) to interpret expression data types automatically at compile time. Learn more about this from the resources below.

Type Inference

Type Inference for Go

Data Types

Mark as done

Done

Data Types

In Golang, data types refer to an extensive system used for declaring variables or functions of different types. Learn more about this from the resources below.

Go Data Types with Example

Understanding Data Types in Go

Types - An Introduction to Programming in Go optional

Go Data Types Tutorial optional

For Loop

Mark as done

Done

For Loop

For loop in Golang can be defined as a repetition control structure. Learn more about this from the resources below.

Loops in Go Programming Language

Go For Loops with Examples

Creating Loops in Golang with For Statement

Getting Started with For Loop in Go

Range

Mark as done

Done

Range

Range can be described as a process in Golang that iterates over elements in various data structures. Learn more about this from the resources below.

Go Range - Iterating over Data Structures in Go

Range - Golang Programming Tutorial

What is the for Range Loop in Go?

Go Range by Examples optional

Array

Mark as done

Done

Array

In Golang, an array is a collection of elements of a specific size and type. Learn more about this from the resources below.

Working with Array in Golang

Go Array with Examples

Array in Golang

Golang Tutorial: Array and Slices optional

Slice

Mark as done

Done

Slice

A slice is a flexible and extensible data structure to implement and manage collections of data. Learn more about this from the resources below.

Golang Tutorial: Slices

Go Slices

Slices in Golang

Maps

Mark as done

Done

Maps

Golang map is an in-built unordered collection that allows us to store elements in key/values pairs. Learn more about this from the resources below.

Go Map with Examples

Working with maps in Go

Maps are super easy in Go

Go Maps in Action

Errors, Panic, Recover

Mark as done

Done

Errors, Panic, Recover

Errors in Go are plain old values. Panic is a function that prematurely terminates a Go application when an abnormal condition is encountered. Recover is a function provided by Go which takes control of a panicking goroutine. Learn more about these concepts from the resources below.

Panic and Recovery: Golang Tutorial

Golang Panic and Recover Tutorial with Example

Handling Panics in Go

Error, Panic and Recovery in Go

How To Handle Errors in Go

Basic SQL Syntax

Mark as done

Done

Basic SQL Syntax

Get the basic SQL Fundamentals and Syntax. See the resources below.

SQL Syntax

Basic SQL Commands

SQL Syntax Basics

Goroutines

Mark as done

Done

Goroutines

A goroutine is a lightweight thread managed by the Go runtime. Learn more about this concept from the resources below.

Goroutines

Goroutines - Concurrency in Golang

Concurrency and Goroutines in Golang

Concurrency with Golang Goroutines

Type Assertion

Mark as done

Done

Type Assertion

Type assertions in Golang provide access to the exact type of variable of an interface. Learn more about this from the resources below.

Type Assertions in Golang

Understanding Type Assertion in Go

Golang Programming Tutorial - Type Assertion

Channel

Mark as done

Done

Channel

Channels can be described as goroutine conduits. They are the pipeline through which goroutines can communicate with each other. Learn more about this concept from the resources below.

Channel in Go

What is Channel in Golang?

Go by Examples: Channel optional

How to use Go Channel

Context

Mark as done

Done

Context

Context in a program is the ability to access data stored inside a context. Learn more about this concept from the resources below.

Go Context Tutorial

Getting Started with Go Context

Tutorial on Go Context

It's Time to Understand Go Context

Interface

Mark as done

Done

Interface

In Golang, an interface type is defined as a set of method signatures. Learn more about this concept from the resources below.

Interfaces in Golang

How to user interface in Go

Working with Interfaces in Go

Interface optional

Buffer

Mark as done

Done

Buffer

The buffer belongs to the byte package of the Go language and can be used to manipulate the byte of the string. Learn more about this concept from the resources below.

How Does a Buffer Work in Go

Golang Buffer Examples

Golang lock/Mutex

Mark as done

Done

Golang lock/Mutex

A lock, or mutex, in Golang, is a synchronization technique and an important concurrent programming concept. Learn more about this concept from the resources below.

Go Mutex Tutorial

Understanding Golang Mutex

Golang Lock/Mutex Tutorial

Mutex in Golang optional

Select

Mark as done

Done

Select

The select statement lets a goroutine wait on multiple communication operations. Learn more about this concept from the resources below.

How Select Statement Work in Go

Select Statement in Go

Go by Example: Select Statement

Select Statement Tutorial optional

Marshalling and Unmarshalling JSON

Mark as done

Done

Marshalling and Unmarshalling JSON

Marshalling is the process of converting the Golang object to JSON encoding, which is then converted into strings. Unmarshalling is the process of converting JSON byte data to a Go datatype. Learn more about these concepts from the resources below.

What is JSON Marshalling and Unmarshalling?

How to Marshal and Unmarshall JSON

Marshalling and Unmarshalling in Golang

JSON Marshall and Unmarshall Golang optional

Go Modules

Mark as done

Done

Go Modules

A module is a collection of Go packages stored in a file tree with a go.mod file at its root. Learn more about this concept from the resources below.

Working with Modules in Golang

Getting Started with Go Modules optional

How to use Go Modules

Go Modules Tutorial optional

Got feedback?