DEV Community

Go Time

The bits of Go we avoid (and why)

The panel discuss the parts of Go they never use. Do they avoid them because of pain in the past? Were they overused? Did they always end up getting refactoring out? Is there a preferred alternative?

Discuss on Changelog News

Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!


  • Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at
  • – The home of — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at and check out the speedrun in their docs.


Show Notes:

Something missing or broken? PRs welcome!


(00:00) - It's Go Time!
(00:58) - ICE BREAKERS
(12:00) - Mat avoids new()
(17:20) - Jon avoids full slice expressions
(20:53) - Carl avoids bare returns
(24:22) - A linter up in your kitchen
(26:59) - Mat tries not to panic
(30:52) - Jon avoids labels
(35:13) - Templates, globals, init
(38:40) - Prank Time (+ more bad ideas)
(42:57) - Jon tells a story
(44:20) - Useless uses of generics
(47:41) - Jon doesn't use internal packages
(51:17) - It's time for Unpopular Opinions!
(51:43) - Mat's unpop
(57:56) - Gotta Go!
(59:04) - Next time on Go Time

Episode source