Take your first steps with Go

Go to class
Write Review

Free Online Course: Take your first steps with Go provided by Microsoft Learn is a comprehensive online course, which lasts for 5-6 hours worth of material. The course is taught in English and is free of charge.

Overview
    • Module 1: Take your first steps with Go.
    • In this module, you will:

      • Install and configure Go on your local workstation.
      • Install and configure Visual Studio Code and the Go extension.
      • Explore the Go Playground.
      • Create your first Go application.
    • Module 2: Learn about the basic data types in Go and about how to declare variables, write functions, and use packages.
    • In this module, you will:

      • Declare variables and constants
      • Learn about the basic data types available in Go
      • Write functions
      • Create and use packages
    • Module 3: Learn to use control flows in Go.
    • In this module, you will:

      • Learn about simple and compound if statements.
      • Learn about switch statements and their features.
      • Learn about loop statements and how Go creates them by using the for keyword.
      • Learn about essential error-handling functions like defer, panic, and recover.
    • Module 4: Learn about structs, arrays, slices, and maps. Understand the difference between them and when to use one type over the other.
    • In this module, you'll learn about:

      • The aggregate types in Go: arrays and slices.
      • The differences between arrays and slices.
      • Built-in functions to manipulate data.
      • How to use key and value data structures by using maps.
      • How to write complex custom data types with structs.
    • Module 5: Understand how to handle errors and log helpful information in your Go programs.
    • In this module, you'll learn about:

      • Go's approach to error handling.
      • Error handling strategies.
      • The log standard package for logging.
      • Logging frameworks.
    • Module 6: Learn about best practices for writing methods and interfaces in Go.
    • In this module, you'll learn about:

      • How Go implements OOP principles such as encapsulation and composition.
      • How to write methods and why you use them.
      • How to write embedding and overloading methods.
      • How to write and use interfaces, and why they differ from interfaces in other programming languages.
    • Module 7: Understand more about concurrency, one of the most unique features in Go.
    • In this module, you'll learn about:

      • How concurrency works in Go.
      • The difference between concurrency and parallelism.
      • How communication works in a concurrent program by using channels.
      • How to write a program that runs faster by implementing concurrency.
      • How to write dynamic programs that can use buffers to take advantage of concurrency when you want to launch a limited number of concurrent calls.
    • Module 8: By using what you've learned about Go, write and test a complete program.
    • In this module, you'll practice and learn about:

      • How testing works in Go.
      • How to wrap the core logic of a program into a package.
      • How to expose the core logic through a Web API.
      • How to write tests for your core logic package (by using test-driven development).
      • How almost all concepts we've covered so far can work together.

Syllabus
    • Module 1: Get started with Go
      • Introduction
      • What is Go?
      • Exercise - Install Go
      • Exercise - Explore the Go Playground
      • Exercise - Install Visual Studio Code and the Go extension
      • Exercise - Hello World
      • Knowledge check
      • Summary
    • Module 2: Understand how to use packages, variables, and functions in Go
      • Introduction
      • Declare and use variables
      • Learn about basic data types
      • Create functions
      • Learn about packages
      • Knowledge check
      • Summary
    • Module 3: Use control flows in Go
      • Introduction
      • Test conditions with if/else expressions
      • Control flow with switch statements
      • Loop through data with for expressions
      • Control with defer, panic, and recover functions
      • Exercise - Use control flows in Go
      • Solutions - Control flow exercises
      • Knowledge check
      • Summary
    • Module 4: Use data types and structs, arrays, slices, and maps in Go
      • Introduction
      • Exercise - Use arrays
      • Exercise - Explore slices
      • Exercise - Use maps
      • Exercise - Use structs
      • Challenge - Data types
      • Solution - Data types challenge
      • Knowledge check
      • Summary
    • Module 5: Implement error handling and logging in Go
      • Introduction
      • Learn how to handle errors in Go
      • Learn how to log in Go
      • Knowledge check
      • Summary
    • Module 6: Use methods and interfaces in Go
      • Introduction
      • Use methods in Go
      • Use interfaces in Go
      • Challenge - Methods and interfaces
      • Solution - Methods and interfaces
      • Knowledge check
      • Summary
    • Module 7: Learn how concurrency works in Go
      • Introduction
      • Learn about goroutines
      • Use channels as a communication mechanism
      • Learn about buffered channels
      • Challenge
      • Solution
      • Knowledge check
      • Summary
    • Module 8: Write and test a program in Go
      • Introduction
      • Outline the online bank project
      • Get started with writing tests
      • Write the bank core package
      • Write the bank API
      • Challenge - Complete the bank project functionality
      • Solution
      • Knowledge check
      • Summary