We build fast, honest Go tools in the open: networking, storage, runtimes and developer tooling. Your next commit belongs here.

- Repositories
- 98
- GitHub stars
- 713
- Articles
- 41
- Languages
- 23
Join in three steps
No sign-up. Everything happens on GitHub.
Pick a project
Find a repository that matches what you love to build, from relays to databases.
GoOpen an issue or PR
Report a bug, propose an idea or send a fix. Small pull requests are welcome.
GoWrite for the blog
Share what you learned. Every post is translated into 20+ languages automatically.
GoProjects looking for you
Our most starred repositories. Pick one and say hi.
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Human and machine friendly speedy open source coding harness. Our defaults. Your agent. dal is a minimal, pluggable coding agent; dalgona adds opinionated batteries. Make either yours with Starlark plugins, written by you or your agent.
Independent bitcoin full node in Rust
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
sites/artifacts alternative
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

gosuda.org/zstd: Drop-In-erstatning for DataDog/zstd med null CGO og krasjisolering
CGO_ENABLED=0 Go Zstandard-bibliotek som kjører upstream C libzstd 1.5.7 i en arbeider med delt minne, med et API kompatibelt med DataDog/zstd, gjenbrukbare kontekster og bulkbatching.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql Driver over Shared-Memory IPC
Drop-in database/sql SQLite 3.54.1-driver for Go med CGO_ENABLED=0, HQQ-delt minneisolasjon for arbeidsprosesser, forhåndshenting av batchrader på 64 KiB og SLSA-attesterte binærfiler.

HQQ: Isolering av C-biblioteker fra Go over Cache-Line Shared Memory
Kjøretid for IPC uten cgo, IDL-kompilator (hqq-bindgen) og verifisert prosessovervåker som kjører native C11-biblioteker i isolerte arbeiderprosesser over delte minneringbuffere.

Schottky: Nullallokering, rekkefølgebevarende byte-nøkkelkoding for Go
Allokeringsfritt Go-bibliotek som koder sammensatte tupler til byte-nøkler sortert etter memcmp, med uavhengig sortering stigende/synkende (ASC/DESC), markører for plassering av NULL og grenser for prefiksskanning.

Portalite: En lettvekts Portal Go SDK med multirelébinding og standard net.Listener-grensesnitt
En lettvekts Portal-klient og CLI som støtter Gos standard net.Listener-grensesnitt, samtidig binding til flere reléer, ende-til-ende-kryptering (E2EE) og automatisk gjenoppretting av økter.

Go 1.27, eller Hvordan jeg lærte å slutte å bekymre meg og elske Generic Methods
Generiske metoder, encoding/json/v2, en standard uuid-pakke og en goroutine-lekkasjedetektor som faktisk fungerer. En gjennomgang av Go 1.27 med eksempler som alle faktisk er kjørt.

Analyse av AMD64-assemblerkodgenerering og grenintstruksjoner for betingede setninger (if) i Go
Denne teksten sammenligner hvordan Go-kompilatoren oversetter if-else-betingelser til AMD64-maskinkodens grenskommandoer, som CMPQ, JGE og JMP, med resultatet av grenkodegenereringen til en C-kompilator (-O2).

Analyse av runtime-strukturen i administrerte språk og AMD64-assembly i Go-binærfiler
Dette arbeidet sammenligner utførelsesmodellene for administrerte (managed) og ikke-administrerte (unmanaged) språk, og analyserer stabelkontrollene (stack checks) og strukturen for kall til runtime-funksjoner i Go-binærfiler gjennom AMD64-assembly hentet ut med go tool objdump.

AI-nativ utviklingsmetodikk: utover verktøybruk, en toveis kontekstsirkulasjon
Denne teksten sammenligner de strukturelle begrensningene ved AI-avhengig utvikling og enkel verktøybruk, og definerer en AI-nativ utviklingsprosess som akkumulerer designintensjon og organisatorisk kontekst i begge retninger.

Portal Tunnel: Eksponer lokale tjenester over desentraliserte offentlige reléer
Eksponer lokale HTTP-tjenester til det offentlige internett med en enkelt curl-kommando via flerrelé-, tillatelsesfrie Portal-tunneler uten kontoer eller installasjon av binærfiler.

Shannons kanalkapasitetsgrense og arkitekturen for KI-basert semantisk kommunikasjon (Semantic Communication)
Dette drøfter de fysiske kanalkapasitetsgrensene i Shannon-Hartley-teoremet og behandler semantisk kommunikasjon, der overføringsdata komprimeres til meningsenheter i stedet for bitenheter ved hjelp av en felles kunnskapsbase og semantiske koder/dekodere.

Portal: en ende-til-ende-kryptert åpen relé som videreformidler lokale tjenester til eksterne nettverk
Dette dokumentet beskriver Portal-arkitekturen, som gjør det mulig å eksponere en lokal server for det åpne internett via et ende-til-ende-kryptert (E2EE) åpent relénettverk, uten behov for offentlig IP-adresse eller oppsett av skyinfrastruktur.

Direkte Linux-systemkall i ren Go med syscall.Syscall og unsafe.Pointer
Å kalle Linux-kjernens systemkall, som SYS_SYSINFO, direkte fra ren Go ved hjelp av ABI-justerte strukturer, unsafe.Pointer og den standard syscall-pakken uten cgo.

Any er ikke Any, men Any er Any
Denne teksten analyserer i detalj Go-språkets `any`-type og den interne `EFace`-strukturen, og forklarer metoder for dynamisk typehåndtering ved bruk av `reflect`-pakken samt type-assertions og type-switcher.

Strukturen til FIPS 140-2- og FIPS 140-3-implementeringene i Gos standardkryptografibibliotek
Denne analysen tar for seg begrensningene ved integrasjon med eksterne C-baserte OpenSSL-providere, og gjennomgår deretter BoringCrypto (FIPS 140-2), den native FIPS 140-3-modusen i Gos standardpakke crypto, Fail-Fast-validering, Hedged ECDSA og DRBG-arkitekturen.

Livlig bitmap
Fra konseptet med bitmap-indekser i databaser til Roaring Bitmaps virkemåte og bruk i Go. Denne gjennomgangen undersøker bitmap-optimalisering for effektiv behandling av store datasett.

Politikk og datamaskiner
Politikk og informatikk, to fagfelt som ved første øyekast er ulike, men likner hverandre, utforsker hvordan de kan løse samfunnsproblemer, og hvordan utviklere kan bli de nye lovgiverne.

Go-gorutinenes (Goroutine) virkemåte: 2KB variabel stakk og M:N GMP-skeduleren
Den forklarer forskjellen mellom samtidighet (concurrency) og parallellisme (parallelism), fra goroutinenes initielle, dynamisk voksende stack på 2 KB, via brukernivå kontekstbytte, til GOMAXPROCS og GMP-modellen (Goroutine-Machine-Processor) for kjøretidsplanlegging.

Databaseservere og embedded databaser: sammenligning av arkitektur og I/O-egenskaper
Denne analysen sammenligner uavhengige prosessbaserte RDBMS-systemer med innebygde databaser som kjører i samme prosess, herunder SQLite, RocksDB, BadgerDB og PebbleDB, med hensyn til I/O-latens på NVMe SSD, datadelisering i MSA-arkitekturer og distribusjonsstruktur.

Konfigurasjon av innebygd NATS-server i Go-applikasjoner og struktur for kommunikasjon i samme prosess
Dette dokumentet omhandler oppsett for å kjøre en NATS-meglerserver (nats-server/v2) innebygd i en Go-prosess, samt design av in-memory-kommunikasjon basert på InProcessConn og et grensesnitt for forbrukere.

Go-grensesnitt og strukturinnbygging: forskjeller fra klassearv og komposisjonsdesign
Denne teksten sammenligner klassearv i Java/C++ med den strukturelle typingen i Go-grensesnitt, og forklarer, med kodeeksempler, komposisjonsmønsteret (Composition) basert på struktureinbygging (struct embedding) og metodedelegering.

5 designegenskaper ved Go-språket sett fra et system- og backend-ingeniørperspektiv
Denne teksten oppsummerer designfilosofien til Go, med vekt på raske native kompileringer og kjøreytelse, et standardbibliotek som fungerer uten rammeverk (net/http, database/sql), en M:N goroutine-planlegger og garantier for bakoverkompatibilitet.

En kopp grønn te å miste til Go-kjøretiden, GreenTea GC
Go sin nye GreenTea GC forbedrer ytelsen ved å øke effektiviteten av søppelinnsamling for små objekter, basert på minnespenn (memory spans). Vi ser nærmere på de eksisterende problemene med GC og fordelene ved GreenTea GC.

Forkortelse av responstid for filopplasting i Go HTTP: implementering av en kanalbasert asynkron arbeidskø
Strukturen skiller mottak av midlertidige filer og overføring til Incus-containere i en filopplastingshandler i net/http, ved hjelp av en bufret kanal og en arbeiderpool av goroutiner, for å redusere responsforsinkelsen i endepunktet.

Analyse av endringer i atferd i Go 1.25 encoding/json/v2 og kompatibilitetslaget for v1
Denne artikkelen sammenligner encoding/json/v2, introdusert som et eksperimentelt Go 1.25-funksjon (goexperiment.jsonv2), med hensyn til skiftlandsfølsom feltmatching, endret semantikk for omitempty og omitzero, serialisering av nil-slices og nil-maps, og tilhørende alternativer.

Injeksjon av variabler under kompilering i Go: bruk av go build -ldflags -X
Denne artikkelen tar for seg hvordan man injiserer verdier i Go-strengvariabler under kompileringstid, uten en ekstern .env-fil, ved å bruke linkerflagget `-ldflags "-X"` i `go build` og ved å angi pakkens symbolbane.

Å håndtere HTTP-feil på en mindre tungvint måte + RFC7807
Synes du feilhåndtering i Go-API-er er tungvint? Håndter feil på en enklere og tydeligere måte med RFC7807.

Sammenligning av språkdesign i LLM-baserte kodegenereringsmiljøer: abstraksjonskostnader og Gos eksplisitthet
Denne artikkelen analyserer hvordan objektorientert polymorfisme, syntaktisk sukker og komplekse modultrær øker kostnadene for kontekstresonnering i store språkmodeller, og drøfter hvorfor Go, med sin eksplisitte kontrollflyt og enkle syntaks, er gunstig for AI-basert kodegenerering.

Cilium-historien: En liten kodeendring som ga bemerkelsesverdig forbedring av nettverksstabiliteten
Les i detalj hvordan en liten kodeendring i Cilium-prosjektet betydelig forbedret stabiliteten til LRU-basert NAT-tilkoblingshåndtering.

Litt om å forstå MCP host
Dette er en artikkel som skal bidra til å gi en forståelse av Anthropics MCP-protokoll og MCP-verten (mcphost) implementert i Go.

Kjøre en skalerbar Go-server med .NET Aspire
Slik kjører du en Go-server skalerbart med .NET Aspire: eksempel på horisontal skalering og automatisert konfigurasjon med YARP-reverseproxy.

Erfaringer med bruk av MLDSA og MLKEM i Go-språket
I Go-språket undersøkes bruken av de kvantemotstandsdyktige krypteringsalgoritmene MLDSA og MLKEM, og det gis en beskrivelse av egenskapene til hver algoritme samt kodeeksempler.

Oversikt over Go 1.24: Swiss Table-kart, ML-KEM, os.Root og testing/synctest
Teknisk oversikt over Go 1.24: innebygde kart basert på Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root og testing/synctest.

Randflake ID: Distribuert generering av 64-bits unike ID-er med blokkchifferet Sparx64
Distribuert 64-bit unik ID-generator som kombinerer en 30-bit tidsstempel, en 17-bit node-ID, en 17-bit lokal teller og Sparx64 ARX-blokkchifferet for uforutsigbare ID-er.

Forbedre responsiviteten med en klientside-cache for Redis
Forbedring av API-responsivitet ved hjelp av Redis Server Assisted Client Side Cache

Implementering av en bildevisar med flerfilslisteboks i Go og Tcl/Tk 9.0
Det implementeres en GUI-bildevisningsapplikasjon i modernc.org/tk9.0 ved å legge til bindinger for Tcl listbox-kommandoer og virtuelle hendelsesbehandlere, som muliggjør åpning av flere bildefiler, bytte av valg og sletting av listeelementer.

CGo-fri Go Tcl/Tk (modernc.org/tk9.0) GUI-implementering: pakking av widgeter og bildegjengivelse
CGo-avhengighetsfritt krysplattformbibliotek modernc.org/tk9.0 brukes til å implementere vindusopprettelse, pakking av knapp- og menylinjekomponenter samt gjengivelse av SVG-, PNG- og ICO-bilder i Go.

Go og OpenAPI-økosystemet
Vi presenterer biblioteker og strategier som kan brukes ved utvikling av OpenAPI-baserte API-er med Go-språket.

Go-samtidighetsstarterpakke
Vi presenterer en rekke verktøy og teknikker for samtidighetsstyring i Go, blant annet goroutiner, kanaler og mutexer.

Hvorfor Go velger eksplisitt feilretur og panic-recover i stedet for try-catch-unntakskasting
Denne teksten ser nærmere på begrensningene ved try-catch-strukturer, som overfører ansvaret for unntakshåndtering langs kallstakken, og beskriver Gos design med panic og recover, som er forbeholdt tilstander der gjenoppretting ikke er mulig, i kontrast til eksplisitt error-håndtering på kallstedet.

Bygging av infrastruktur for AI-tjenester i Go: samtidighet og API-integrasjon
Hvordan Go håndterer orkestrering av API-er for grunnmodeller, samtidig nettverks-I/O, strømmebaserte prosesseringskjeder og distribusjon av skytjenester med cloud-native arkitektur.