Go 1.21 released

#​472 — August 8, 2023 Unsub  |  Web Version ⛱ I'm taking two weeks off and will be back on Tuesday, August 29. So if you don't see the newsletter turn up for a while, rest assured it's not your fault ;-) You're welcome to hit reply and send in things...

Name before type: why 'age int' is better than 'int age'

A variable's name is more important than its type, so the name should be more prominent and come first in declarations.

Slices Package: Binary Search

Series Here are all the posts in this series about the slices package. Binary Search Clip, Clone, and Compact Compare Contains, Delete, and Equal Introduction Go’s most important data structure is the slice and it was designed from the beginning to be mechanically sympathetic w...

The Go team's new project templating tool

#​471 — August 1, 2023 Unsub  |  Web Version Go Weekly Experimenting with Project Templates with gonew — The Go team has unveiled a new, experimental tool for creating new Go projects from predefined templates. Anyone can write the...

Experimenting with project templates

Announcing golang.org/x/tools/cmd/gonew, an experimental tool for starting new Go projects from predefined templates

The proposal to enhance Go's HTTP router

A brief look at the proposed enhancements to the Go standard library HTTP request router, net/http.ServeMux: matching on HTTP method, and supporting wildcards in matched paths.

Scripting with Go: a 400-line Git client that can create a repo and push itself to GitHub

In which I rewrite my toy pygit client in Go to see how suitable Go is for simple scripts.

The issue with control flow in interpreters using the 'eval' pattern

The 'eval' pattern for interpreting simple languages

Share your feedback about developing with Go

Help shape the future of Go by sharing your thoughts via the Go Developer Survey