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 nul CGO og crash-isolering
CGO_ENABLED=0 Go Zstandard-bibliotek, der kører upstream C libzstd 1.5.7 i en worker med delt hukommelse, med en DataDog/zstd-kompatibel API, genbrugelige kontekster og bulk-batching.

gosuda.org/sqlite3: database/sql-driver uden CGO (CGO_ENABLED=0) over delt hukommelse-IPC
Drop-in database/sql SQLite 3.54.1-driver til Go med CGO_ENABLED=0, HQQ-delt hukommelsesisolering af workers, batch-prefetching af rækker på 64 KiB og SLSA-attesterede binære filer.

HQQ: Isolering af C-biblioteker fra Go via delt hukommelse på cache-linjeniveau
Runtime for IPC uden cgo, IDL-kompilator (hqq-bindgen) og verificeret procesovervågning, der eksekverer native C11-biblioteker i isolerede arbejdsprocesser via delte hukommelsesringbuffere.

Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding for Go
Go-bibliotek uden allokeringer, der koder sammensatte tupler til byte-nøgler sorteret med memcmp, med uafhængig ASC/DESC-sortering, NULL-placeringsmarkører og præfiksscanningsgrænser.

Portalite: Et letvægts Portal Go SDK med multi-relæ-binding og standard net.Listener-understøttelse
Et letvægts Portal-klient og CLI, der understøtter Go's standard net.Listener-grænseflade, samtidig binding til flere relæer, ende-til-ende-kryptering (E2EE) og automatisk sessionsgendannelse.

Go 1.27, eller Hvordan jeg lærte at holde op med at bekymre mig og elske generiske metoder
Generic methods, encoding/json/v2, en standard uuid package og en goroutine leak detector, der faktisk virker. En rundvisning i Go 1.27 med eksempler, der alle reelt er blevet kørt.

Runtimestruktur for administrerede sprog og analyse af Go-binærfiler i AMD64-assembler
Denne analyse sammenligner eksekveringsmodellerne for administrerede (managed) og ikke-administrerede (unmanaged) sprog og analyserer, gennem AMD64-assembler udtrukket med go tool objdump, stakkontrollen og strukturen for runtime-funktionskald i Go-binære filer.

Analyse af AMD64-assemblerkodegenerering og forgreningsinstruktioner for Go-betingelsessætninger (if)
Denne tekst sammenligner den proces, hvorved Go-compileren oversætter if-else-betingelsessætninger til AMD64-maskinkodebranchinstruktioner såsom CMPQ, JGE og JMP, med resultatet af branchkodegenereringen fra en C-compiler (-O2).

AI-nativ udviklingsmetodologi: Tovejs kontekstcirkulation ud over værktøjsanvendelse
Denne tekst sammenligner de strukturelle begrænsninger ved AI-afhængig udvikling og simpel værktøjsanvendelse, og definerer en AI-native udviklingsproces, der akkumulerer designintention og organisatorisk kontekst i begge retninger.

Portal Tunnel: Eksponering af lokale tjenester via decentraliserede offentlige relæer
Gør lokale HTTP-tjenester tilgængelige på det offentlige internet med en enkelt curl-kommando via multi-relay, permissionless Portal-tunneler uden konti eller installation af binære filer.

Shannons kanalkapacitetsgrænse og arkitekturen for AI-baseret semantisk kommunikation (Semantic Communication)
Vi gennemgår den fysiske kanalkapacitetsgrænse i Shannon-Hartley-sætningen og behandler semantisk kommunikation, hvor transmitterede data komprimeres i betydningsenheder frem for bitenheder ved hjælp af en delt vidensbase og semantiske encodere/decodere.

Portal: en end-to-end krypteret åben relæ, der videresender lokale tjenester til eksterne netværk
Dette dokument beskriver Portal-arkitekturen, som eksponerer en lokal server for det eksterne internet uden offentlig IP-adresse eller konfiguration af cloud-infrastruktur, via et åbent relænetværk med ende-til-ende-kryptering (E2EE).

Direkte Linux-systemkald i ren Go med syscall.Syscall og unsafe.Pointer
Kald af Linux-kernelens systemkald, såsom SYS_SYSINFO, direkte fra ren Go ved hjælp af ABI-justerede structs, unsafe.Pointer og den almindelige syscall-pakke uden cgo.

Any er ikke Any, men Any er Any
Der analyseres detaljeret Go-sprogets `any`-type og den interne `EFace`-struktur, og der forklares metoder til dynamisk typehåndtering ved hjælp af `reflect`-pakken samt type-assertions og type-switches.

Strukturen af FIPS 140-2- og FIPS 140-3-implementeringerne i Gos standardkryptografibibliotek
Denne artikel analyserer begrænsningerne ved integration af eksterne C OpenSSL-providers og gennemgår derefter BoringCrypto (FIPS 140-2), den native FIPS 140-3-tilstand i Gos standardpakke crypto, Fail-Fast-validering, Hedged ECDSA og DRBG-strukturen.

Livlig bitmap
Fra begrebet bitmap-indeks i databaser til Roaring Bitmaps funktionsprincip og anvendelse i Go. Denne artikel undersøger bitmap-optimering til effektiv behandling af store datasæt.

Politik og computere
Politik og datalogi, to fagområder der på overfladen virker forskellige, men som har mange fællestræk, undersøges her: hvordan de kan bidrage til at løse samfundsmæssige problemer, og hvordan udvikleren kan blive en ny form for lovgiver.

Go-gorutinernes (Goroutine) funktionsprincip: 2KB variabel stak og M:N GMP-planlæggeren
Der gennemgås først forskellen mellem concurrency og parallelism, derefter goroutinens initielle stak på 2 KB med variabel størrelse, user-level context switching, GOMAXPROCS samt GMP-modellen (Goroutine-Machine-Processor) for runtime-scheduling.

Databaseservere og indlejrede databaser: en sammenligning af arkitektur og I/O-egenskaber
Vi sammenligner uafhængige procesbaserede RDBMS-systemer med indlejrede databaser i samme proces, såsom SQLite, RocksDB, BadgerDB og PebbleDB, set ud fra I/O-latens på NVMe SSD, dataisolation i MSA og implementeringsstruktur.

Konfiguration af en indlejret NATS-server i Go-applikationer og arkitekturen for kommunikation i samme proces
Dette afsnit beskriver, hvordan man konfigurerer og starter en NATS-broker (nats-server/v2) indlejret i en Go-proces, og behandler design af in-memory-kommunikation baseret på InProcessConn samt forbrugerdefinerede grænseflader.

Go-grænseflader og strukturindlejring: forskelle fra klassearv og komposition som designmønster
Denne tekst sammenligner klassearv i Java/C++ med den strukturelle typning i Go-interfaces og forklarer kompositionsmønsteret ved hjælp af struktur-embedding og metodedelegering med kodeeksempler.

Fem designegenskaber ved Go-sproget set fra et system- og backend-ingeniørmæssigt perspektiv
Denne tekst giver en oversigt over Go's designfilosofi med fokus på hurtig native kompilering og eksekveringsydelse, standardbiblioteket der fungerer uden frameworks (net/http, database/sql), M:N goroutine-scheduleren og garantien for bagudkompatibilitet.

Et øjeblik med grøn te, som Go-runtime'en ellers ville tage fra os: GreenTea GC
Go's nye GreenTea GC forbedrer ydeevnen ved at øge effektiviteten af affaldsindsamling for små objekter baseret på hukommelsesspænd (memory spans). Vi gennemgår de eksisterende problemer med GC og fordelene ved GreenTea GC.

Reduktion af svartid ved HTTP-filupload i Go: implementering af en asynkron worker-kø baseret på kanaler
Denne struktur adskiller modtagelsen af midlertidige filer og overførslen til Incus-containere i en net/http-filoploadhåndterer ved hjælp af en bufferet kanal og en pulje af goroutine-arbejdere, hvilket reducerer responsforsinkelsen for endepunktet.

Analyse af adfærdsændringerne i Go 1.25 encoding/json/v2 og v1-kompatibilitetslaget
Vi sammenligner den case-sensitive matching, ændringerne i omitempty/omitzero-semantik, serialisering af nil-slices/maps og tilhørende indstillinger i encoding/json/v2, som blev introduceret under Go 1.25-eksperimentfunktionen (goexperiment.jsonv2).

Injektion af variabler ved kompileringstid i Go: anvendelse af go build -ldflags -X
Dette dokument beskriver, hvordan man injicerer værdier i Go-strengvariabler under kompileringstiden ved hjælp af linker-flaget `go build -ldflags "-X"` og ved at angive pakkens symbolsti, uden en ekstern .env-fil.

Mere elegant håndtering af HTTP-fejl + RFC7807
Er fejlhåndtering i din Go API besværlig? Håndter fejl mere enkelt og tydeligt med RFC7807.

Sprogdesignsammenligning i LLM-baserede kodegenereringsmiljøer: abstraktionsomkostninger og Gos eksplicitthed
Denne tekst analyserer, hvordan objektorienteret polymorfi, syntaktisk sukker og komplekse modultræer øger omkostningerne ved kontekstbaseret ræsonnement i LLM'er, og behandler, hvorfor Go, med sin eksplicitte kontrolflow og enkle syntaks, er gunstigt for AI-baseret kodegenerering.

Cilium-historien: Den bemærkelsesværdige forbedring af netværksstabilitet, som en lille kodeændring frembragte
Lad os se nærmere på, hvordan en lille kodeændring i Cilium-projektet markant forbedrede stabiliteten af LRU-baseret styring af NAT-forbindelser.

Forstå MCP-hosten lidt bedre
Dette er en artikel, der har til formål at hjælpe med at forstå Anthropics MCP-protokol og MCP-værten (mcphost), som er implementeret i Go.

Forsøg på at køre en skalerbar Go-server med dotnet Aspire
Sådan kører du en Go-server skalerbart med .NET Aspire: eksempel på vandret skalering og automatiseret konfiguration med YARP reverse proxy.

Erfaringer med brugen af MLDSA og MLKEM i Go-sproget
I Go-sproget gennemgås brugen af de post-kvante kryptografiske algoritmer MLDSA og MLKEM, og der gives en beskrivelse af hver algoritmes egenskaber samt kodeeksempler.

Go 1.24-udgivelsesoversigt: Swiss Table-maps, ML-KEM, os.Root og testing/synctest
Teknisk oversigt over Go 1.24: Swiss Table-baserede indbyggede maps, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root og testing/synctest.

Randflake ID: Distribueret generering af 64-bit unikke ID'er med Sparx64-blokchiffer
Distribueret 64-bit unik ID-generator, der kombinerer et 30-bit tidsstempel, et 17-bit node-ID, en 17-bit lokal tæller og Sparx64 ARX-blokchifferet for ID'er, der ikke kan gættes.

Forbedring af reaktionsevne med Redis-klientsidecache
Forbedring af API-reaktionsevne ved hjælp af Redis Server Assisted Client Side Cache

Implementering af en billedfremviser med flervalgsfilliste baseret på Go og Tcl/Tk 9.0
Vi implementerer en GUI-billedfremviser ved at tilføje Tcl listbox-kommandobindinger og virtuelle hændelseshandlere til modernc.org/tk9.0, hvilket muliggør åbning af flere billedfiler, skift af valg og sletning af listeelementer.

GUI-implementering i Go uden CGo med Tcl/Tk (modernc.org/tk9.0): widgetpakning og billedgengivelse
Der implementeres vinduesoprettelse, pakning af knap- og menulinjewidgets samt rendering af SVG-, PNG- og ICO-billeder i Go ved hjælp af det CGo-uafhængige krydsplatformsbibliotek modernc.org/tk9.0.

Go og OpenAPI-økosystemet
Vi præsenterer biblioteker og strategier, som kan anvendes ved udvikling af API'er baseret på OpenAPI i Go-sproget.

Go-samtidighedsstarterpakke
Vi præsenterer en række værktøjer og teknikker til styring af samtidighed i Go, herunder goroutines, kanaler og mutexes.

Hvorfor Go valgte eksplicit fejlreturnering og panic-recover frem for try-catch-undtagelseskastning
Vi undersøger begrænsningerne ved try-catch-strukturer, der overfører ansvaret for undtagelseshåndtering op ad kaldstakken, og beskriver Gos panic-recover-design, som er begrænset til tilstande, der ikke kan gendannes, i kontrast til den eksplicitte error-håndtering på kaldestedet.

Opbygning af AI-serviceinfrastruktur i Go: Samtidighed og API-integration
Hvordan Go håndterer orkestrering af API:er for foundation models, samtidig netværks-I/O, streamingpipelines og implementering af cloud-native tjenester.