Golang Essentials

This four day course explores Golang by walking students through the steps to develop a command line application, as well as a web application. Students will learn language fundamentals, core design principles, and advanced topics like generics and concurrency.

Description

Go (Golang) is a popular open-source programming language originally developed by Google in 2009. Since then thousands of businesses and developers have adopted the multi-purpose language to develop products and services in various domains. 

This four day course explores the language by walking students through the steps to develop a command line application, as well as a web application. Students will learn the fundamentals of the language, core design principles, and advanced topics like generics and concurrency. 

Syllabus:

Syllabus 

The Basics 

  • Learn how to install Go and set up the environment.

  • Review language fundamentals such as variables, constants, loops and conditionals.

  • Understand how to define and call functions,and how to handle multiple return values.

  • Declare and iterate overarrays, slices, and maps.

TypesStructs & Interfaces 

  • Discover the types and values system in Go.

  • Declarestructs.

  • Learn how to define methods and understand receivers.

  • Learn about indirectionand howto use pointers.

  • Learnhow to compose complex types using embedding.

  • Explore polymorphism in Go with Interfaces.

Packages & The Standard Library

  • Learn how useGo’s package system.

  • Get familiar with the Go Standard Library.

Testing & Debugging

  • Write unit tests using the standard testing package.

  • Learn how to use the command line tools to run tests and generate coverage reports.

  • Understand how to create mocks from interfaces to use in testing.

  • Practice debugging using the Delve debugging tool.

  • Learn how to handle errors.

Advanced Topics

  • Learn how to create a Web Application in Go.

  • Explore Concurrency in Go, and how to use Goroutines, Mutexes, and Channels.

  • Dive into Generics, Type Parameters,and Constraints.

Who should take this class?

Who Should Take This Course

  • Developers of all levels who are ready to get started using Go. 

  • Developers or engineering managers who are thinking about using Go for their next project. 

How to prepare:

Prerequisites 

  • Students should already be familiar with basic programming concepts: variables, statements, functions, arrays, data structures and common programming problems.