Skip to content
Johnny Boursiquot edited this page May 21, 2020 · 3 revisions

ℹ️ Go Next Steps: Writing effective and idiomatic production-grade Go. is a live online training offered through O'Reilly Learning.

❗ This training material was designed for a guided walkthough by the instructor and is best consumed along with the video recording of the training.

About this training

You’ve done some tutorials, read a few blog posts, watched a few videos, and even did some small projects. Now it’s time to level up your Go.

In this training, you’ll reinforce the basics before honing advanced techniques with an idiomatic approach to the language. Along the way, you’ll learn best practices for project layout, testing, reusability, and dependency management. You'll learn how to use the Go toolchain, build CLI tools, and write robust HTTP servers and clients. You'll understand good package design and error handling strategies. You'll see how to leverage the powerful Go standard library for common needs and manage external dependencies effectively when you need them. Lastly, we'll dive into Go’s concurrency primitives, techniques, and patterns.

By the time you’re through, you’ll know what production-grade Go code should look like and be able to apply those techniques to your own projects with confidence.

What you'll learn and how you can apply it

By the end of this training, you’ll understand:

  • How to build robust command-line tools
  • How to write more testable code with interfaces
  • How to leverage Go’s concurrency primitives as well as common patterns that help you get through workloads fast

And you’ll be able to:

  • Master Go fundamentals, including working with its simple and complex types, collections, polymorphism, code organization, and more
  • Couple the built-in testing package with techniques that help improve coverage and correctness
  • Build resilient HTTP servers and clients
  • Use Go modules to manage dependencies

This training course is for you because...

  • You want to explore common use cases for Go that you might encounter on the job.
  • You’re somewhat new to Go and want to know how to write idiomatic and production-grade code.
  • You want to embark on new Go projects or tackle existing ones with confidence.

Prerequisites

  • A computer with Go 1.13+ installed and configured (Optional: Install an editor with Go support—VS Code + the Go extension, for example.)
  • A working knowledge of Go
  • Familiarity working in a terminal

Recommended preparation:

  • Explore A Tour of Go (website)
  • Explore Go by Example (website)

Recommended follow-up:

About the Instructor

Guiding you through this journey will be Johnny Boursiquot, author of the well-liked Go Standard Library Solutions course available from Packt Publishing. Johnny is an active member and leader within the Go community. He runs the Baltimore Metro Area Go User Group, leads the Baltimore Chapter of the GoBridge organization, and speaks regularly at conferences and meetups. He loves to teach and to welcome new members into the community. Reach him on Twitter @jboursiquot.