Go Community Linklog

Made a library? Written a blog post? Found a useful tutorial? Share it with the Go community here or just enjoy what everyone else has found!

Golang Mutexes

Understanding mutexes, solving race condition using mutexes and channels https://golangbot.com/mutex/


Select Statement in Go

https://golangbot.com/select/ Learn how select statement works and also get to know the practical use of select.


Overmind and Hivemind, Procfile-based process managers for local web development


Procfile, introduced by David Dollar's foreman, is a popular format for declaring processes—everyone who ever used Heroku, knows it well. Anyone who didn't, really should learn it—it's an easy way to declare all the stuff that is needed to run your project (web app, additional apps, background processing, tools and daemons) and launch it.

Unfortunately, foreman had some limitations, so there are new kids on the block—tmux support, tons of features, speedy and stable. Check them out!

 Yaroslav Markin

Sending Emails in Buffalo

In this video we will look at how we can use the github.com/gobuffalo/x/mail package to send emails within a Buffalo application. We’ll see how to set multiple bodies, as well as an attachment, to the email. This video also demonstrates the new buffalo-mail plugin for this package.


 Mark Bates

Go Developer, Go -- Bootstrapping "Go" for multiple operating systems and architectures

Read this article (https://www.fedux.org/articles/2017/07/29/bootstrapping-go.html) if you're interested in bootstrapping an environment for building go binaries to run on Windows, MacOS and Linux.

 Dennis Günnewig

Buffered Channels and Worker Pools

Learn how buffered channels work and how they can be used to implement worker pool. https://golangbot.com/buffered-channels-worker-pools/


Terraboard - A web dashboard to inspect Terraform States


Terraboard is a web dashboard to visualize and query Terraform states. It currently features:

an overview page listing the most recently updated state files with their activity a state page with state file details, including versions and resource attributes a search interface to query resources by type, name or attributes

 Brian Scott

Surf - Stateful programmatic web browsing in Go.

Surf is a Go (golang) library that implements a virtual web browser that you control programmatically. Surf isn't just another Go solution for downloading content from the web. Surf is designed to behave like web browser, and includes: cookie management, history, bookmarking, user agent spoofing (with a nifty user agent builder), submitting forms, DOM selection and traversal via jQuery style CSS selectors, scraping assets like images, stylesheets, and other features.

 Brian Scott

Introducing vice: Go channels across many machines

Vice abstracts message queue technologies and gives you plain old Go channels through which you can communicate instead.

Blog Post

 Brian Scott

Buffalo v0.9.2 Released!

This is primarily a big bug patch and enhancement release. There are a few new things, but a lot of what is in this release came out of the great bug reports found during GopherCon.


 Mark Bates

Gobular - Go Regular Expression Tester

Inspired by the awesome rubular.com, Gobular let's you test your Go regular expressions online, quickly.

Built using the Buffalo framework, the source can be found at https://github.com/markbates/gobular.


 Mark Bates