This course will walk you through installing Go, setting up your GOPATH, and
adding GOBIN to your path. It will also test to ensure the installation and
environment is properly set up. Finally, it will discuss several options for
This module will give you the information needed to connect with the Go
community on Slack, how to find local meetups, what the Go playground is, as
well as a link to the video where this entire bootcamp was recorded.
Go ships with a powerful testing framework. Tests in Go are written in the Go
language, so there is no need to learn another syntax. This chapter will explore
basic tests, table driven tests, and sub-tests. Concepts such as race
conditions, code coverage, test automation. Understanding test options such as
parallel, short testing, timing out tests, and verbose are also covered.
Go comes with a powerful set of tools for profiling and improving the
performance of your code. Benchmarking is one of those tools, and the first
one most developers start with. In this module we will cover basic
benchmarking, some common benchmarking mistakes, and how to compare benchmarks
to see if performance has improved.
This module covers where to get more support on Go, recommends books and
videos, and list the contact information for your instructor.
In this 1-hour course renowned Go expert, Cory LaNou, takes you on a fast pace tour of the features of testing and benchmarking in Go. Cory will cover basic testing, test output, table driven test, sub tests, code coverage, race conditions, and more. Cory will also give a basic introduction to benchmarking
This course is tailored to developers learning Go for the first time, or having less than one year of Go development experience. This workshop will cover practical, daily Go fundamentals. Starting with the language fundamentals, students will move into interfaces and how they lend to embedding and composition in Go. They will finish up with an overview of concurrency in Go.
This course is designed to teach students about Go’s concurrency model, as well as how to profile and optimize Go code. It starts with a deep dive into concurrency primitives and covers several concurrency patterns. It will go over several common mistakes that are also made when designing concurrent software.
Then, a full overview of how the benchmarking and profiling tools are used to measure code performance. After mastering the tools, the students will then be shown different ways to use the profiling tools, as well as the compiler to identify and fix common performance problems in Go code.
Building distributed systems can be extremely complex, but it doesn’t have to be. gRPC was created as a high performance RPC framework that makes it easy for to build client/server applications. Using protocol buffers, you can define both data messages and procedure calls that turn into easy to consume structures and services in Go.