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.
Types, Structs & 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.