---
title: "#178: The Ultimate Guide to Writing a Go Tool"
publication: "Go Weekly"
issue: 178
published_at: "2017-09-21"
canonical_url: "https://golangweekly.com/issues/178"
---

Golang Weekly 178   . 

[Read this on the Web](https://golangweekly.com/issues/178) 

[Golang Weekly](https://golangweekly.com) Issue 178 — September 21, 2017     

Featured [Allocation Efficiency in High-Performance Go Services](https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/?utm_source=golangweekly&utm_medium=email) Understanding how Go allocates memory stack vs. heap, which allocation costs more, and how to write code to be more memory efficient. Segment [The Ultimate Guide to Writing a Go Tool](https://arslan.io/2017/09/14/the-ultimate-guide-to-writing-a-go-tool/?utm_source=golangweekly&utm_medium=email) A very thorough tutorial for building a tool to add tags to struct fields via command line or within an editor. Fatih Arslan [Database Performance Monitoring Guide](https://www.vividcortex.com/resources/database-performance-monitoring-buyers-guide?utm_campaign=Go%20Newsletter&utm_source=ppc) This guide is designed to aid when evaluating database monitoring solutions for your unique environment. VIvidCortexsponsored[![\](https://copm.s3.amazonaws.com/c4f339c6.png)](https://www.vividcortex.com/resources/database-performance-monitoring-buyers-guide?utm_campaign=Go%20Newsletter&utm_source=ppc) [27 Talks from the Golang UK Conference 2017](https://www.youtube.com/playlist?list=PLDWZ5uzn69eyM81omhIZLzvRhTOXvpeX9&utm_source=golangweekly&utm_medium=email#golanguk2017) video Lots of great stuff here, like a [talk on static analysis in Go](https://www.youtube.com/watch?v=mLVxAU_xpEA), to [fighting latency](https://www.youtube.com/watch?v=Lxt8Vqn4JiQ&list=PLDWZ5uzn69eyM81omhIZLzvRhTOXvpeX9&index=6) and [deep learning](https://www.youtube.com/watch?v=CHzMEamGZDA&list=PLDWZ5uzn69eyM81omhIZLzvRhTOXvpeX9&index=27). YouTube [Chroma: A General Purpose Syntax Highlighter in Pure Go](https://github.com/alecthomas/chroma?utm_source=golangweekly&utm_medium=email) Takes source code and other structured text and syntax highlights it. Inspired by [Pygments](http://pygments.org/) and supports over 100 languages. Alec Thomas [20 Data Structures and Algorithms Implemented in Go](http://www.golangprograms.com/data-structure-and-algorithms.html?utm_source=golangweekly&utm_medium=email) Binary Search, Quick Sort, and the Tower of Hanoi are just a few of the code examples here. GolangPrograms.​com [Don’t Be Afraid of Makefiles](https://sohlich.github.io/post/go_makefile/?utm_source=golangweekly&utm_medium=email) Yep, you can use good old `make` for building your Go projects. Radomir Sohlich Jobs [Netflix Senior Software Engineer — Open Connect Edge Accelerator](https://jobs.netflix.com/jobs/865194) Join a small team working on an exciting new project around API acceleration on top of the Netflix's CDN (Open Connect). Netflix [Get Your Next Tech Job Faster. Get Hired on Hired.](https://hired.com/join/?utm_source=petercooperpress&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-swe%29%28q3-17-go-weekly%29) Save time on your job search. Hired delivers multiple, high-quality job offers to you. Sign up today. Hired In Brief [Creating TCP Servers That Run Like Clockwork](https://sahilm.com/tcp-servers-that-run-like-clockwork/?utm_source=golangweekly&utm_medium=email) tutorial Sahil Muthoo [Creating a Flappy Bird-Style Game in Go](https://www.youtube.com/watch?v=aYkxFbd6luY&utm_source=golangweekly&utm_medium=email) video Francesc Campoy [Should the Go Project Just Use GitHub for Everything?](https://github.com/golang/go/issues/21956?utm_source=golangweekly&utm_medium=email) opinion Nate Finch [Badger vs LMDB vs BoltDB: Benchmarking Key-Value Databases in Go](https://blog.dgraph.io/post/badger-lmdb-boltdb/?utm_source=golangweekly&utm_medium=email) opinion How key-value store [Badger](https://github.com/dgraph-io/badger) compares against two other options. Deepak Jois [Set up Unlimited Free CI/CD with Semaphore and GitHub](https://github.com/marketplace/semaphore?utm_source=golangweekly&utm_medium=email&utm_campaign=golangweekly-20170921) Discover why teams at Intel, CoreOS and systemd choose Semaphore for high-performance, reliable continuous integration. Semaphoresponsored [wuzz: Interactive CLI Tool for HTTP Inspection](https://asciimoo.github.io/wuzz/?utm_source=golangweekly&utm_medium=email) tools Uses the same options a cURL with a much richer interface. Adam Tauber [Alloy: Boilerplate for Creating Web Applications in Go](https://www.growthmetrics.io/open-source/alloy?utm_source=golangweekly&utm_medium=email) tools Growth Metrics [Cruise Automation Uses CircleCI to get self-driving cars on the road](https://circleci.com/customers/cruise/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=september&utm_content=go-newsletter) Cruise Automation (a subsidiary of GM) chose CircleCI to help their team get autonomous vehicles on the road. CircleCIsponsored [Elastic: An Elasticsearch Client for Go](https://github.com/olivere/elastic?utm_source=golangweekly&utm_medium=email) code Oliver Eilhard [Pluck: 'Pluck' Text in A Fast and Intuitive Way](https://github.com/schollz/pluck?utm_source=golangweekly&utm_medium=email) code A Go-written tool for extracting text using patterns. Zack [cp: A Go Port of Chipmunk2D, a 2D Game Physics Library](https://github.com/jakecoffman/cp?utm_source=golangweekly&utm_medium=email) code Jake Coffman [BGWorker: Background Worker Processes for Postgres](https://github.com/prest/bgworker?utm_source=golangweekly&utm_medium=email) code Written in Go. pREST ['cache-control' Middleware for Go](https://github.com/dc0d/cache-control?utm_source=golangweekly&utm_medium=email) code Kaveh Shahbazian    

Golang Weekly is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](https://golangweekly.com/issues/178) [See our archives](https://golangweekly.com/issues) [Change your email address](*|UPDATE_PROFILE|*)  [Stop getting this newsletter](*|UNSUB|*)  

Published by [Cooperpress](https://cooperpress.com/)
Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
