Learning path

Go fundamentals

From your first program to variables, types, conditions, loops, strings, slices, maps and functions, with a challenge after each topic.

18 lessons · 33 challenges

1 Getting started 5 lessons

  1. Lesson 2 challenges Hello World and Program Structure Write your first Go program and learn what package main, import and func main do.
  2. Lesson 2 challenges Variables and Constants Declare variables with var and :=, and fixed values with const.
  3. Lesson 2 challenges Data Types Work with int, float64, bool, rune and string, and convert between them.
  4. Lesson 2 challenges Operators and Arithmetic Use arithmetic, comparison and logical operators, and see how integer division works.
  5. Lesson 2 challenges Reading User Input Read a line from the keyboard and turn it into a number safely.

2 Making decisions 2 lessons

  1. Lesson 2 challenges Conditions: if and switch Choose what runs with if, else and switch.
  2. Lesson 1 challenge FizzBuzz Solve the classic FizzBuzz problem with a switch.

3 Loops 2 lessons

  1. Lesson 2 challenges Loops with for Repeat code with Go's only loop, for, in its four forms.
  2. Lesson 2 challenges Prime Numbers Check whether a number is prime and list the primes up to 30.

4 Strings and text 2 lessons

  1. Lesson 2 challenges Strings Join, search, split and slice text with Go strings and the strings package.
  2. Lesson 1 challenge Reverse a String Reverse the characters of a string and the words of a sentence.

5 Collections 4 lessons

  1. Lesson 2 challenges Arrays Store a fixed number of values and see that arrays are copied on assignment.
  2. Lesson 2 challenges Slices Work with growing lists: append, slicing, make, len and cap.
  3. Lesson 2 challenges Maps Store and look up values by key with Go maps.
  4. Lesson 2 challenges Word Frequency Counter Count how often each word appears with a map.

6 Functions 2 lessons

  1. Lesson 2 challenges Functions and Multiple Return Values Define functions, return more than one value and accept any number of arguments.
  2. Lesson 2 challenges Fibonacci Sequence Generate Fibonacci numbers with a loop and a slice.

7 Objects and classes 1 lesson

  1. Lesson 1 challenge Structs Group related values into your own type with named fields.
Continue with: Programming fundamentals