---
title: "What is a standard Go project layout anyway?"
publication: "Go Weekly"
issue: 360
published_at: "2021-04-30"
canonical_url: "https://golangweekly.com/issues/360"
---

Plus Go in the enterprise, and a Go powered universal CLI for databases. |        

#​360 — April 30, 2021 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/360)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/estmcndrdh1ecyoi9wmg.jpg)](https://github.com/golang-standards/project-layout/issues/117)  

['This is not a standard Go project layout'](https://github.com/golang-standards/project-layout/issues/117) — The [‘Standard Go Project Layout’](https://github.com/golang-standards/project-layout) is a repo presenting itself as a basic layout for a Go project, but Russ Cox thinks it’s not very representative of the reality. A _lot_ of discussion followed, with the outcome being that the Go project itself hopes to [form some ‘official’ project layout documentation](https://github.com/golang/go/issues/45861). 

Russ Cox   

[Google: 'Go Is Powering Enterprise Developers'](https://cloud.google.com/blog/topics/developers-practitioners/go-powering-enterprise-developers-developer-survey-results) — The Go team released the [Go Developer Survey 2020 results](https://blog.golang.org/survey2020-results) last month, but Google seem keen to stress that Go is continuing to see an increased role in enterprise scenarios, particularly in building API/RPC services. 

Matt Pearring and Alice Merrick   [![\](https://copm.s3.amazonaws.com/bcf7547b.jpg)](https://fauna.com/serverless?utm_source=GoNewsletter&utm_medium=Newsletter&utm_campaign=CooperPress_Newsletters_2021) 

[A Global Serverless Database for Applications Written in Go](https://fauna.com/serverless?utm_source=GoNewsletter&utm_medium=Newsletter&utm_campaign=CooperPress_Newsletters_2021) — Fauna is the “Data API” for modern applications. Whether you’re building new microservices or augmenting existing services applications, Fauna lets you simplify code, reduce costs and ship faster. [Learn more](https://fauna.com/serverless?utm_source=GoNewsletter&utm_medium=Newsletter&utm_campaign=CooperPress_Newsletters_2021)... 

Fauna sponsor   

[Building Portable Apps with Go and Next.js](https://v0x.nl/articles/portable-apps-go-nextjs) — It’s not often we get to see Go and JavaScript come together, but the idea here is that you can use Go’s new static embedding functionality to build a self-contained Go app that serves a Next-powered app all in one. 

David Stotijn     

Quick Bits 

- JetBrains has shared its [roadmap for GoLand 2021.2.](https://blog.jetbrains.com/go/2021/04/23/what-s-next-goland-2021-2-roadmap/) Improved Go modules and 1.17 support are the order of the day.
- Mugo is a [a toy compiler for a subset of Go that can compile itself](https://benhoyt.com/writings/mugo/).  

📘 Tutorials and Stories  

[Elasticsearch in Go: A Developer's Guide](https://developer.okta.com/blog/2021/04/23/elasticsearch-go-developers-guide) — Getting started with Elasticsearch by reading data from the Star Trek API and writing it to ES. _Live long and gopher._ 

Phillip Edwards   

[A Guide to JSON in Go](https://qvault.io/golang/json-golang/) — Essentially a bunch of recipes for working with JSON, covering marshalling and unmarshalling, pretty printing, and why you might use `ffjson` for more performance. 

Lane Wagner (Qvault)   

[Building Go Socket Servers with TLS](https://eli.thegreenplace.net/2021/go-socket-servers-with-tls/) — A look at writing Go applications that use TLS for protocols beyond HTTP. 

Eli Bendersky   

[Pulumi Infrastructure as Code: Any Cloud, Familiar Languages](https://www.pulumi.com/docs/get-started/?utm_source=golang-weekly&utm_medium=sponsored-link&utm_campaign=iac) — Provision cloud infrastructure using Go and use constructs you already know - code completion, versioning, and more. 

Pulumi sponsor   

[Level Up Your Presentations with Go](https://dev.to/charly3pins/level-up-your-presentations-with-go-59lo) — This uses the present package in the Go Tools subrepository and isn’t bad if you like simple presentations. 

Carles Fusté Bertran   

[Automate Your GitHub Profile README with Go & GitHub Actions](https://charly3pins.dev/blog/automate-your-github-profile-readme-with-go-and-github-actions/) — A neat trick to keep your profile current. 

Carles Fusté Bertran   

▶[Building Startups with Go](https://changelog.com/gotime/177) — The Go Time podcast features four startup founders for whom Go is at the core of their business. 

Go Time Podcast podcast    

Jobs  

[Platform Senior Software Engineer (Remote)](https://grnh.se/caf836d01us) — Doximity is on a mission to transform the US healthcare system. Join us and build the platform our teams use to ship software. 
Doximity   

[Senior Software Engineer at Even (Anywhere)](https://l.even.com/senior-swe-gw) — Help end the paycheck-to-paycheck cycle. Build w/ Go, React Native, GraphQL, Postgres, Bazel. Remote encouraged. 
Even   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=go) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/vmz6stv5vkz9so79eo1n.jpg)](https://thedevdash.com/)   

[DevDash 0.5: Configurable Terminal Dashboard for Developers](https://thedevdash.com/) — A terminal based app that lets you display various types of visualization widget along with the data sources of your choice. [CHANGELOG](https://github.com/Phantas0s/devdash/blob/master/CHANGELOG.md) and [GitHub repo](https://github.com/Phantas0s/devdash). 

Matthieu Cneude   

[Chroma 0.9: A Pure Go General Purpose Syntax Highlighter](https://github.com/alecthomas/chroma) — Chroma brings most of the features of [Pygments](https://pygments.org/), pretty much the Python-based _standard_ in the syntax highlighting field, to Go and can even use the lexers and styles already created for Pygments. 

Alec Thomas   

[Book a Demo. Ship Fast. Rest Easy. LaunchDarkly](https://learn.launchdarkly.com/demo/?utm_source=cooperpress&utm_medium=display&utm_campaign=21q1-cooperpress) 

LaunchDarkly sponsor   

[usql 0.9: A Universal CLI for Databases](https://github.com/xo/usql) — A CLI tool (written in Go) for working with Postgres, SQL Server, MySQL, SQLite3, Oracle Database, CockroachDB, and [many more](https://github.com/xo/usql#database-support). A database Swiss Army knife, if you will. [v0.9.0](https://github.com/xo/usql/releases/tag/v0.9.0) adds command autocomplete, a `\copy` command to move data between databases, and more. 

Kenneth Shaw   

[Triangle: Convert Images to Art with Delaunay Triangulation](https://github.com/esimov/triangle) — Make your images more.. triangley? We first linked to this four years ago but it’s nice to see such things staying maintained. 

Endre Simo   

[htui: A Heroku Terminal User Interface](https://github.com/PierreKieffer/htui) — A terminal app for managing Heroku apps and dynos. 

Pierre Kieffer   

[Go Imagick: Bindings to ImageMagick's MagickWand C API](https://github.com/gographics/imagick) 
Go Graphics Community         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
