Skip to content
A workshop covering all the tools gophers use in their day to day life
Go Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
1-source-code add clarification about dep syntax Jun 21, 2018
2-building-artifacts fix location of web-server directory in text May 31, 2018
3-dynamic-analysis updated trace Aug 27, 2018
vendor Moarfix (#24) Jul 6, 2017
.gitignore improved main Jun 23, 2017 check for format too (#27) Jul 6, 2017
.travis.yml travis: update go versions Jan 10, 2018 initial commit with basic structure Jun 22, 2017
Gopkg.lock Moarfix (#24) Jul 6, 2017
LICENSE initial commit with basic structure Jun 22, 2017 no more graphviz Jul 17, 2018 Moarfix (#24) Jul 6, 2017
fancygopher.jpg pretty much done Jun 30, 2017

Build Status Go Report Card

Go Tooling in Action

Hi, and welcome to "Go Tooling in Action". This is a multi hour workshop, so get ready for some intense learning!

After going through the whole content, you will know about what tools can help you better write Go code, how to build artifacts from that code, and how to understand the performance of your code once it's running.

You should be relatively familiar with Go, even though we won't be writing much code. Maybe it's time to check out the Go Tour.

For a shorter and sweeter version of this workshop, you can watch the video that I made for a conference, and inspired me to create this workshop.

Software requirements

To go through this you will need the following:

  1. You have installed the Go Programming Language.
  2. We will be using Visual Studio Code it's free and open source.
  3. Finally, we'll also use delve, so install it now if you think you won't have good WiFi later.

The rest of the software we'll use is quick to install through go get, so do not worry yet.


The workshop is for now composed of three independent sections:

In the future one more section might be added regarding monitoring of running systems, but for now that topic is out of the scope of this workshop.


This workshop is very new, so some things might be missing or wrong.

If you find anything that seems broken, please file an issue. Or even better, send a pull request! You will need to sign a CLA, you'll get the info once you send the PR.


These are places where you can find more information for Go:

My favorite aspect of Go is its community, and you are now part of it too. Welcome!

As a newcomer to the Go community you might have questions or get blocked at some point. This is completely normal, and we're here to help you. Some of the places where gophers tend to hang out are:


This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

You can’t perform that action at this time.