---
title: "The Go team's next steps with generics"
publication: "Go Weekly"
issue: 327
published_at: "2020-08-28"
canonical_url: "https://golangweekly.com/issues/327"
---

Plus more Go news and links.       

#327 — August 28, 2020 

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

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/se5d7cz5idlh13daptjo.jpg)](https://groups.google.com/g/golang-nuts/c/iAD0NBz3DYw/m/VcXSK55XAwAJ)  

[Moving Forward with the Generics Design Draft](https://groups.google.com/g/golang-nuts/c/iAD0NBz3DYw/m/VcXSK55XAwAJ) — Unfortunately this discussion requires a Google login, but in short the Go team have decided to move forward with the proposed draft design for generics ([some background here](https://blog.golang.org/generics-next-step)) with some changes, such as the use of square brackets and the `type` keyword before type parameters will be dropped. 

Ian Lance Taylor, et al.   

[New Case Studies About Google’s Use of Go](https://opensource.googleblog.com/2020/08/new-case-studies-about-googles-use-of-go.html) — Go has turned out to have a much broader reach than even its creators expected. Its growth in the industry has been phenomenal, and it has powered many Google projects. 

Rob Pike   [![\](https://copm.s3.amazonaws.com/ea7b4c85.png)](https://dashboard.redisgreen.net/goweekly) 

[Redis 6.0 on RedisGreen](https://dashboard.redisgreen.net/goweekly) — SSL encryption, key size tracking, memory mapping, online upgrades, and more. 

RedisGreen sponsor    

[Audio From Scratch with Go: Waveform Synthesis](https://dylanmeeus.github.io/posts/audio-from-scratch-pt8/) — The latest in [a series of posts](https://dylanmeeus.github.io/tags/goaudio/) about working with audio from Go covers actually creating wave files from scratch using soundwaves of your own creation. 

Dylan Meeus   

[Creating Domain Specific Error Helpers with `errors.As`](https://blog.carlmjohnson.net/post/2020/working-with-errors-as/) — _“Don’t let your end users be distracted by irrelevant warning messages. Handle errors properly by thinking their roles and domain within your application.”_ 

Carl M. Johnson   

[ultimate-go: One Dev's Notes On Working with Go](https://github.com/betty200744/ultimate-go) — A very large repo covering many aspects of Go, from syntax to concurrency to data structures and more. 

ylzhao  

💻 Jobs  

[Senior Software Engineer at Even (Anywhere)](https://bit.ly/349Qtzk) — Help people break the paycheck-to-paycheck cycle. Build w/ Go, React Native, GraphQL, Postgres, Bazel. Remote encouraged. 

EVEN   

[Hiring Mid-Level & Seniors North America Remote Go Engineers](https://www.ardanlabs.com/my/careers/?utm_source=Cooperpress%20PrimaryJob) — Must have good “architecture” skills, solid Go coding skills, and a deep understanding of Go and Kubernetes. 

Ardan Labs   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. 

Vettery  

📘 Tutorials  

[Experimenting with QUIC and WebTransport in Go](https://centrifugal.github.io/centrifugo/blog/quic_web_transport/) — WebTransport (which has been called a ‘better WebSocket’ before) is a new browser API for bi-directional client-server messaging. QUIC is a Google-created transport based on UDP. Together, they may form the next standard in real-time web apps. 

Centrifugal   

[Making an Asteroids Game with Lorca/Webview and WebAssembly](https://maori.geek.nz/making-asteroids-game-with-golang-lorca-webview-and-wasm-9a8bed30cf72) — Brings together some interesting tools to create a retro ‘Asteroids’ clone that can be distributed as a desktop app. 

Graham Jenson   

[The Go Security Checklist](https://link.sqreen.com/iwsY6ZRt) — Ensure the infrastructure and the code of your Go applications are secure with the latest actionable best practices. 

Sqreen sponsor   

[A Structured HTTP Fields Parser and Serializer for Go](https://dunglas.fr/2020/08/a-structured-http-fields-parser-and-serializer-for-the-go-programming-language/) — [“Structured Field Values for HTTP”](https://httpwg.org/http-extensions/draft-ietf-httpbis-header-structure.html) is a forthcoming standard to define data types for HTTP headers and trailers (essentially headers that _follow_ chunked HTTP responses). Learn about them and get a cool, Go-based parser as a bonus. 

Kévin Dunglas   

[Mocking Techniques for Go](https://dmv.myhatchpad.com/insight/mocking-techniques-for-go/) — Five techniques for mocking out dependencies in Go that address various situations, including yours, probably. Don’t let clumsy external bits stop you from testing! 

Hatchpad  

🛠 Code & Tools  

[go-reddit: A Library for Accessing the Reddit API](https://github.com/vartanbeno/go-reddit) — For when you want to pull links from Reddit, create a bot, or whatever. 

Vartan Benohanian   

[modernc/sqlite: A Now Cgo-Free `database/sql` SQLite Driver](https://godoc.org/modernc.org/sqlite) — An in-process implementation of the self-contained, zero-configuration, transactional SQLite database engine, now with its first stable release for `linux/amd64` and cgo free for the first time. 

modernc   

[Minify: Go Minifiers for Web Formats (CSS, HTML, JSON, etc.)](https://github.com/tdewolff/minify) — There’s a [live online demo](https://go.tacodewolff.nl/minify) and JavaScript minification support has been added as of this week’s [v2.9.0 release.](https://github.com/tdewolff/minify/releases/tag/v2.9.0) 

Taco de Wolff   

[Maddy: A Composable All-in-One Mail Server](https://github.com/foxcpp/maddy) — Can work as an MTA, accept messages via SMTP, store messages and even provide access to them over IMAP. 

Max Mazurov   

[xmlquery: An XPath Library for Querying XML Documents](https://github.com/antchfx/xmlquery) — For plucking out all elements with certain names or attributes, say. 

antchfx   

[What’s the Best Way to Protect Your Content from Piracy? Learn Here](https://go.bitmovin.com/drm-whitepaper?utm_source=cooper-go-newsletter-brief-link&utm_medium=paid-newsletter&utm_campaign=drm-whitepaper) 

Bitmovin Inc. sponsor   

[go-nfs: A Go-Powered NFSv3 Server](https://github.com/willscott/go-nfs/) — Early days and read only, for now. 

Will Scott   

[(Another) httpmock: Lightweight HTTP Mocking on top of `httptest`](https://github.com/dankinder/httpmock) — We recently linked to Jared Morse’s [httpmock](https://github.com/jarcoal/httpmock) but have been told about this other option with the same name. 

Dan Kinder   

[progressbar 3.4: A Basic Thread-Safe Progress Bar](https://github.com/schollz/progressbar) 

Zack Scholl         

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
