Go Articles
Go language, concurrency patterns, ecosystem, and best practices.
Updated daily from curated sources
Get Go digestCurated sources
Quality-ranked feeds
Daily updates
Fresh every morning
Email digest
In your inbox, on schedule
Your first Velocity app in 60 seconds
Velocity is a full-stack web framework for Go. Pre-1.0 and shipping in public. vel.build. You need: Go 1.26+ — go version should print go1.26 or newer. Homebrew — for installing the velocity CLI on macOS or Linux. (Other platforms can build from source; see the installer repo.) Bun (recommended) or Node + npm — for the JS side. The installer picks up whichever it finds. No Docker, no external services to start. The project-local ./vel binary handles the dev server, migrations, and code generatio
Dev.to Go
I built fedit — a zero-dependency CLI tool for surgical file edits from the terminal (11 ops, 17 language mappers, single binary)
I needed a way to make precise, scriptable file edits without sed/awk regex headaches — especially when working with AI coding assistants that say "insert this after line 47" but the file has shifted. So I built fedit — a single Go binary with zero dependencies. What it does: 11 operations: show, find, insert, insertafter, insertbefore, replace, replaceall, delete, write, map Content-based matching: insertafter -match "server {" finds the right spot regardless of line numbers 17 language
Reddit r/golang
Why is go pooling worse than not trying to optimize anything?
I'm building a caching layer and wanted to test go's struct pooling to make sure I understood it before I used it, and see if it was worth messing around with. I setup a little test that just counts the unique pointers: ```go package main import ( "fmt" "sync" ) type User struct { Name string Age int } type Set map[string]struct{} func AllocateNormally(n int) Set { res := make(Set) for range n { q := User{Name: "kieran", Age: 27} res[fmt.Sprintf("%p", &q)] = struct{}{} // Store value with a
Reddit r/golang
I added voice messages to my self-hosted AI agent, for free
Hello there! I've been building a small personal AI agent called nevinho. It lives in my Discord DMs and helps me with everyday stuff. Bash commands, web searches, code questions, the usual. After using it for a while, the friction became obvious. Typing into Discord on my phone while walking or cooking is awful. I wanted to just talk to it. Discord already has voice messages built in. You hold a button, talk, and it sends an audio attachment. So the job was simple on paper. Receive the audio, t
Dev.to Go
I built a resume compiler in Go — write YAML, get every format
I got tired of fighting Word docs and Canva templates every time I updated my resume. Your resume is structured data. A name, jobs, dates, skills. Once I realized that, I stopped treating it like a document and started treating it like a data model with renderers. That's resumelang. Write one resume.yml: # yaml-language-server: $schema=https://resumelang.dev/schema/v1.json resumelang: v1 meta: theme: sap # 13 built-in themes language: en page_size: a4 sections: - summary
Dev.to Go
The Go Memory Model, Why Your Concurrent Code Might Be Lying to
You write two goroutines. One sets a variable, the other reads it. You run it a thousand times and it works fine. Then it breaks in production, on a different machine, under load. You stare at the code and nothing looks wrong. It is not fine. You just got hit by the memory model. Most developers think about concurrency bugs in terms of two operations colliding at the same moment. That framing is useful but it misses something deeper. The real question is not just when something happens. It is wh
Dev.to Go
Why I built a CLI to clean up text copied out of AI coding tools
I freqently copy output from Claude Code or GitHub Copilot CLI to store it in my personal notes for followup or to share a message on Slack. In doing so, I'd often paste it into TextEdit first to manually remove the trailing whitespace or fix the linebreaks that the AI tools inserted at unnatural places. It's a first-world level annoyance. But I do it many times a day, so I made ai-clean to do it for me, and I made it freely available assuming someone else out there must have the same annoyanc
Dev.to Go
Zero-config Go heap profiling
submitted by /u/NikolaySivko [link] [comments]
Reddit r/golang
Small Projects
This is the weekly thread for Small Projects. The point of this thread is to have looser posting standards than the main board. As such, projects are pretty much only removed from here by the mods for being completely unrelated to Go. However, Reddit often labels posts full of links as being spam, even when they are perfectly sensible things like links to projects, godocs, and an example. r/golang mods are not the ones removing things from this thread and we will allow them as we see the remova
Reddit r/golang
two apps in one project , how can i structure it ?
im making a 2d multiplayer ascii game from scratch in golang , i need to saperate the two apps ( server and client ) while also making them share some packages , how can i go about structuring that file structure and moduling wise ? i can't have them share the same go.mod because then i wouldn't be able to make 2 saperate main.go files with their own packages , i want each to have their own packages while also sharing some packages ? submitted by /u/Radonish [link] [comments]
Reddit r/golang
KEIBIDROP: Secure File Transfer!
KEIBIDROP encrypted file transfer and shared filesystem between two devices https://keibidrop.com KeibiDrop connects two devices directly and lets them share files over an encrypted channel. It works over the internet or a local network. Two modes: Direct transfer - drag files in, your peer saves what they need Virtual folder (FUSE) - your peer's files appear as a real folder on your machine. git, rsync, your IDE, all work on it. Files stream on access, so you can open a 4 GB video before it fin
Dev.to Go
I Detect 26 Frameworks Without AI. Here's How Deterministic File-Based Detection Works.
When I built Staxa, a platform that deploys isolated customer environments from source code, I needed to answer a deceptively hard question. "The user pushed a GitHub repo with no Dockerfile. What framework is this, and how do I containerize it?" The "easy" answer is to "call an LLM." Send the file listing, maybe the first 50 lines of the main config file, and ask it to identify the framework and generate a Dockerfile. I tried this approach early on and rejected it. Here's why, and what I built
Dev.to Go
Get the best Go content in your inbox
Curio curates Goarticles from the web's best sources and delivers them on your schedule.
Start free — no card needed