← flaviocopes.com

Introduction to Go workspaces

Published Sep 09 2022

One special thing about Go is what we call workspace.

The workspace is the “home base” for Go.

By default Go picks the $HOME/go path, so you will see a go folder in your home.

It’s first created when you install a package (as we’ll see later) but also to store some tooling. For example the moment I loaded the hello.go file in VS Code, it prompted me to install the [gopls](https://pkg.go.dev/golang.org/x/tools/gopls) command, the Delve debugger (dlv) and the [staticcheck linter](https://staticcheck.io/).

They were automatically installed under $HOME/go:

Screen Shot 2022-07-28 at 12.27.27.png

When you will install packages using go install, they will be stored here.

This is what we call GOPATH.

You can change the GOPATH environment variable to change where Go should install packages.

This is useful when working on different projects at the same time and you want to isolate the libraries you use.

Wanna go from noobie to expert?

I wrote an entire book on this topic 👇

© 2023 Flavio Copes Flavio Copes using Notion to Site Notion to Site. Follow on Twitter

Solopreneur? Wannabe? Adventure awaits