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

- Repositories
- 103
- GitHub stars
- 723
- Articles
- 42
- 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
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Att ompröva Git-monorepot: En CAS-native arkitektur för människor och Coding Agents
Hur man bygger en zero-daemon-, CAS-native monorepo på standard Git med hjälp av parentless trunk snapshots, isolated workspace references, in-memory merge trees, hierarchical OWNERS och O(delta) mirror synchronization.

gosuda.org/zstd: Drop-In-ersättning för DataDog/zstd-komprimering utan CGO och med krasch-isolering
CGO_ENABLED=0 Go Zstandard-bibliotek som kör uppströms C-biblioteket libzstd 1.5.7 i en arbetsprocess med delat minne, med ett DataDog/zstd-kompatibelt API, återanvändbara kontexter och batchbearbetning i bulk.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql-drivrutin över delat minne för IPC
Drop-in-databasdrivrutin för database/sql för SQLite 3.54.1 i Go med CGO_ENABLED=0, HQQ-arbetarisolering i delat minne, förhämtning av batchrader om 64 KiB och SLSA-attesterade binärfiler.

HQQ: Isolering av C-bibliotek från Go via cache-line-delat minne
Körtidsmiljö för IPC utan cgo, IDL-kompilator (hqq-bindgen) och verifierad processövervakare som kör inbyggda C11-bibliotek i isolerade arbetsprocesser via delade minnesringbuffertar.

Schottky: Allokeringsfri, ordningsbevarande kodning av bytenycklar för Go
Biblioteket i Go utan allokeringar kodar sammansatta tupler till byte-nycklar ordnade enligt memcmp, med oberoende ASC/DESC-sortering, taggar för placering av NULL-värden samt gränser för prefixskanning.

Portalite: Ett lättviktigt Portal Go SDK med multi-relay-bindning och standardgränssnittet net.Listener
Ett lättviktigt Portal-klientbibliotek och CLI för Go som implementerar det standardiserade net.Listener-gränssnittet och stöder samtidig bindning till flera reläer, ände-till-ände-kryptering (E2EE) samt automatisk sessionsåterställning.

Go 1.27, eller Hur jag lärde mig att sluta oroa mig och älska generiska metoder
Generiska metoder, encoding/json/v2, ett standardpaket för uuid och en detektor för goroutine-läckor som faktiskt fungerar. En genomgång av Go 1.27 med exempel som samtliga faktiskt har körts.

Analys av AMD64-assemblerkodgenerering och grenningsinstruktioner för Go-villkorssatsen (if)
Denna jämförelse undersöker hur Go-kompilatorn översätter if-else-villkorssatser till AMD64-maskinkodens greninstruktioner, såsom CMPQ, JGE och JMP, och ställer resultatet mot den grenkod som C-kompilatorn (-O2) genererar.

Analys av runtimestrukturen för hanterade språk och AMD64-assembler i Go-binärfiler
Denna text jämför exekveringsmodellerna för hanterade (managed) och ohanterade (unmanaged) språk och analyserar, med hjälp av AMD64-assembler extraherad via go tool objdump, stackkontrollerna och strukturen för runtime-funktionsanrop i Go-binärer.

AI-native utvecklingsmetodik: bidirektionell kontextcirkulation bortom verktygsanvändning
Denna text jämför de strukturella begränsningarna hos AI-beroende utveckling och enkel verktygsanvändning, och definierar en AI-nativ utvecklingsprocess som ackumulerar designavsikt och organisatorisk kontext i båda riktningar.

Portal Tunnel: Exponera lokala tjänster via decentraliserade offentliga reläer
Exponera lokala HTTP-tjänster mot det publika internet med ett enda curl-kommando via flerrelä-baserade, tillståndsfria Portal-tunnlar utan konton eller binär installation.

Shannons kanalkapacitetsgräns och strukturen för AI-baserad semantisk kommunikation (Semantic Communication)
Vi granskar den fysiska kanalkapacitetens gräns enligt Shannon-Hartley-satsen och behandlar semantisk kommunikation, där data komprimeras i betydelseenheter snarare än i bitenheter genom en delad kunskapsbas och semantiska kodare/avkodare.

Portal: en end-to-end krypterad öppen relä som vidarebefordrar lokala tjänster till externa nätverk
Denna text beskriver Portal-arkitekturen, som exponerar en lokal server för det externa internet utan statisk offentlig IP-adress eller molninfrastrukturkonfiguration, via ett öppet relänätverk med ände-till-ände-kryptering (E2EE).

Direkta systemanrop i Linux i ren Go med syscall.Syscall och unsafe.Pointer
Att direkt anropa Linux-kärnans systemanrop, såsom SYS_SYSINFO, från ren Go med ABI-anpassade strukturer, unsafe.Pointer och det standardiserade paketet syscall utan cgo.

Any är inte Any, men Any är Any
Denna text analyserar i detalj Go-språkets `any`-typ och dess interna `EFace`-struktur, samt förklarar hur dynamisk typhantering kan genomföras med hjälp av paketet `reflect` och typassertioner/typswitchar.

Go standardbiblioteket för kryptografi: strukturen för FIPS 140-2- och FIPS 140-3-implementationerna
Denna text analyserar begränsningarna i integrationen med externa C OpenSSL-providers och behandlar BoringCrypto (FIPS 140-2), det inbyggda FIPS 140-3-läget i Gos standardpaket crypto, Fail-Fast-verifiering, Hedged ECDSA samt DRBG-strukturen.

Livfull bitmapp
Från begreppet databasens bitmappsindex till Roaring Bitmaps funktionsprinciper och användning i Go. Vi undersöker bitmappsoptimering för effektiv bearbetning av storskaliga datamängder.

Politik och datorer
Politik och datavetenskap, två områden som vid första anblicken verkar olika men som har slående likheter, undersöker hur de kan användas för att lösa samhällsproblem och hur utvecklare kan bli de nya lagstiftarna.

Go 고루틴(Goroutine)의 동작 원리: 2KB 가변 스택과 M:N GMP 스케줄러
Vi förklarar skillnaden mellan samtidighet (concurrency) och parallellitet (parallelism), goroutinernas initiala, dynamiskt växande stack på 2 KB, kontextväxling på användarnivå, GOMAXPROCS samt GMP-modellen (Goroutine-Machine-Processor) för schemaläggning i runtime.

Databasservrar och inbäddade databaser: en jämförelse av arkitektur och I/O-egenskaper
Denna studie jämför självständiga processbaserade RDBMS och inprocess-inbäddade databaser såsom SQLite, RocksDB, BadgerDB och PebbleDB ur perspektiven I/O-fördröjning på NVMe SSD, dataisolering i MSA samt distributionsstruktur.

Konfiguration av inbäddad NATS-server i Go-applikationer och arkitekturen för kommunikation inom processen
Denna text behandlar konfigurationsmetoden för att köra en NATS-broker (nats-server/v2) inbäddad i en Go-process, samt designen av in-memory-kommunikation baserad på InProcessConn och ett gränssnitt för konsumenter.

Go-gränssnitt och strukturinbäddning: skillnader jämfört med klassarv och kompositionsdesign
Denna text jämför skillnaderna mellan klassarv i Java/C++ och den strukturella typningen med gränssnitt i Go, och förklarar med kodexempel kompositionsmönstret (Composition) med hjälp av strukturinbäddning (struct embedding) och metoddelegering.

Fem designegenskaper hos Go-språket ur ett system- och backendutvecklingsperspektiv
Denna text sammanfattar Go:s designfilosofi med fokus på snabb nativ kompilering och exekveringsprestanda, standardbiblioteket som fungerar utan ramverk (net/http, database/sql), M:N-goroutinschemaläggaren samt garantin för bakåtkompatibilitet.

Go-runtimens tekoppsbrygd som ingen får ta ifrån dig, GreenTea GC
Go:s nya GreenTea GC förbättrar prestandan genom att öka effektiviteten vid insamling av små objekt, baserat på minnesspann (memory spans). Vi går igenom de befintliga problemen med GC och fördelarna med GreenTea GC.

Minska svarsfördröjningen vid filuppladdning i Go HTTP: implementering av en asynkron arbetskö baserad på kanaler
Strukturen separerar mottagandet av tillfälliga filer och överföringen till Incus-containrar i en net/http-filuppladdningshanterare genom en buffrad kanal och en arbetspool av goroutiner, vilket minskar svarsfördröjningen för endpointen.

Analys av beteendeförändringar i Go 1.25 encoding/json/v2 och kompatibilitetslagret för v1
Vi jämför de skillnader som introducerats i encoding/json/v2, en experimentell funktion i Go 1.25 (goexperiment.jsonv2), avseende skiftlägeskänslig matchning, förändrad semantik för omitempty och omitzero, serialisering av nil-slice och nil-map samt tillgängliga alternativ.

Injicering av variabler vid kompileringstid i Go: användning av go build -ldflags -X
Denna text behandlar hur man injicerar värden för Go-strängvariabler vid kompileringstid genom att använda länkarflaggan `-ldflags "-X"` med `go build` och ange symbolens paketsökväg, utan någon extern .env-fil.

Att hantera HTTP-fel på ett smidigare sätt + RFC7807
Tycker du att felhanteringen i ditt Go API är besvärlig? Hantera den enklare och tydligare med RFC7807.

Språkdesign i LLM-baserade kodgenereringsmiljöer: en jämförelse av abstraktionskostnader och Gos explicithet
Denna text analyserar hur objektorienterad polymorfism, syntaktisk socker och komplexa modulträd ökar kostnaden för kontextresonemang hos LLM:er, och behandlar varför Go, med sitt explicita kontrollflöde och sin enkla syntax, är gynnsamt för AI-baserad kodgenerering.

Cilium-berättelsen: Hur en liten kodändring gav en anmärkningsvärd förbättring av nätverkets stabilitet
Läs närmare om hur en liten kodändring i Cilium-projektet avsevärt förbättrade stabiliteten i LRU-baserad hantering av NAT-anslutningar.

Att förstå MCP-värden lite grundligare
Detta är en text som syftar till att ge en förståelse för Anthropics MCP-protokoll och för MCP-värden (mcphost) implementerad i Go.

Att köra en skalbar Go-server med .NET Aspire
Hur man kör en Go-server skalbart med .NET Aspire: Exempel på horisontell skalning och automatiserad konfiguration med en YARP-omvänd proxy.

Erfarenheter av att använda MLDSA och MLKEM i Go-språket
Här presenteras hur de post-quantum cryptography-algoritmerna MLDSA och MLKEM används i Go, och varje algoritms egenskaper beskrivs tillsammans med kodexempel.

Översikt över Go 1.24: Swiss Table-kartor, ML-KEM, os.Root och testing/synctest
Teknisk översikt av Go 1.24: inbyggda maps baserade på Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root och testing/synctest.

Randflake ID: Distribuerad generering av 64-bitars unika ID:n med blockchiffret Sparx64
Distribuerad generator av unika 64-bitars ID:n som kombinerar en 30-bitars tidsstämpel, en 17-bitars nod-ID, en 17-bitars lokal räknare och blockchiffret Sparx64 ARX för ID:n som inte kan gissas.

Förbättra responsiviteten med client-side caching i Redis
Förbättring av API:ets responsivitet med hjälp av Redis Server Assisted Client Side Cache

Implementering av en bildvisare med flerfilslistbox i Go och Tcl/Tk 9.0
Vi implementerar en GUI-bildvisare i modernc.org/tk9.0 genom att lägga till bindningar för Tcl-listbox-kommandon och virtuella händelsehanterare, vilket möjliggör öppning av flera bildfiler, byte av val samt borttagning av listobjekt.

CGo-fri Go Tcl/Tk-GUI-implementation (modernc.org/tk9.0): widgetpackning och bildrendering
Implementerar fönsterskapande, placering av knapp- och menyradswidgetar samt rendering av SVG-, PNG- och ICO-bilder i Go med hjälp av det plattformsoberoende biblioteket modernc.org/tk9.0, som saknar beroenden till CGo.

Go och OpenAPI-ekosystemet
Vi presenterar bibliotek och strategier som kan användas vid API-utveckling baserad på OpenAPI med språket Go.

Go-startpaket för samtidighet
Vi presenterar en mängd verktyg och tekniker för hantering av samtidighet i Go, inklusive goroutiner, kanaler och mutexar.

Varför Go väljer explicit felreturnering och panic-recover i stället för try-catch-undantag
Vi undersöker begränsningarna hos try-catch-strukturer, som överför ansvaret för undantagshantering längs anropsstacken, och beskriver Gos panic-recover-design, som är avgränsad till explicit error-hantering vid anropspunkten och till tillstånd som inte kan återställas.

Att bygga AI-tjänsteinfrastruktur i Go: samtidighet och API-integration
Hur Go hanterar orkestrering av API:er för grundmodeller, samtidig nätverks-I/O, strömmande pipelines och molnnativ tjänstedistribution.