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.

Regândirea Git Monorepo: o arhitectură CAS-Native pentru oameni și Coding Agents
Cum se construiește un monorepo zero-daemon, CAS-native, pe Git standard, utilizând instantanee de trunk fără părinți, referințe de workspace izolate, arbori de merge în memorie, OWNERS ierarhic și sincronizarea oglinzilor în O(delta).

gosuda.org/zstd: Drop-In DataDog/zstd Compression fără CGO și cu izolarea erorilor fatale
CGO_ENABLED=0 Bibliotecă Go Zstandard care rulează biblioteca C upstream libzstd 1.5.7 într-un worker cu memorie partajată, cu o API compatibilă cu DataDog/zstd, contexte reutilizabile și procesare în loturi (bulk batching).

gosuda.org/sqlite3: Driver database/sql cu CGO_ENABLED=0 prin IPC bazat pe memorie partajată
Driver database/sql compatibil pentru SQLite 3.54.1 destinat Go, cu CGO_ENABLED=0, izolarea worker-ilor prin memorie partajată HQQ, prefetch-ul rândurilor în loturi de 64 KiB și binare atestate SLSA.

HQQ: Izolarea bibliotecilor C de Go prin memorie partajată aliniată la linia de cache
Runtime IPC fără cgo, compilator IDL (hqq-bindgen) și supervizor de procese verificat, care execută biblioteci native C11 în procese worker izolate, prin inele de memorie partajată.

Schottky: Codificare a cheilor de octeți fără alocări de memorie și cu păstrarea ordinii pentru Go
Bibliotecă Go fără alocări de memorie, care codifică tuple compozite în chei de octeți ordonate prin memcmp, cu sortare ASC/DESC independentă, etichete de plasare a valorilor NULL și limite pentru scanarea prefixelor.

Portalite: SDK Go ușor pentru Portal, cu legare multi-releu și bazat pe net.Listener standard
Un client Portal și CLI ușor, care oferă compatibilitate cu interfața standard net.Listener din Go, legare simultană la mai multe relee, criptare de la un capăt la altul (E2EE) și recuperare automată a sesiunilor.

Go 1.27, sau Cum am învățat să nu mai îmi fac griji și să iubesc metodele generice
Metode generice, encoding/json/v2, un pachet standard pentru uuid și un detector de scurgeri de goroutine care funcționează cu adevărat. O prezentare a Go 1.27 cu exemple care au fost toate efectiv rulate.

Analiza generării codului de asamblare AMD64 pentru instrucțiunea condițională (if) din Go și a instrucțiunilor de salt
Această lucrare compară procesul prin care compilatorul Go traduce instrucțiunile condiționale if-else în instrucțiuni de ramificare AMD64, precum CMPQ, JGE și JMP, cu rezultatele generării codului de ramificare realizate de compilatorul C (-O2).

Analiza structurii de execuție a limbajelor gestionate și a asamblării AMD64 a binarelor Go
Compară modelele de execuție ale limbajelor gestionate (managed) și ale limbajelor negestionate (unmanaged) și analizează, pe baza assembly-ului AMD64 extras cu go tool objdump, verificarea stivei (stack check) și structura apelurilor de funcții runtime din binarele Go.

Metodologie de dezvoltare nativă AI: circulația bidirecțională a contextului dincolo de utilizarea instrumentelor
Compară limitările structurale ale dezvoltării dependente de AI și ale etapei de utilizare a AI ca simplu instrument și definește un proces de dezvoltare AI-native care acumulează bidirecțional intenția de proiectare și contextul organizațional.

Portal Tunnel: Expunerea serviciilor localhost prin releu public descentralizate
Expuneți serviciile HTTP locale către internetul public printr-o singură comandă curl, prin tunelurile Portal multi-relay, fără permisiune, fără conturi și fără instalarea unui fișier binar.

Limitele capacității canalului Shannon și arhitectura comunicării semantice (Semantic Communication) bazate pe inteligență artificială
Se analizează limitele capacității canalului fizic stabilite de teorema Shannon-Hartley și se tratează comunicarea semantică, în care datele transmise sunt comprimate pe unități de sens, nu pe biți, prin intermediul unei baze de cunoștințe comune și al unor codificatoare/decodificatoare semantice.

Portal: un releu deschis, criptat din capăt în capăt, care transmite serviciile locale către rețelele externe
Acest document descrie arhitectura Portal, care expune un server local către internetul public printr-o rețea de relee deschise, cu criptare end-to-end (E2EE), fără a necesita o adresă IP publică sau configurarea unei infrastructuri în cloud.

Apeluri directe de sistem Linux în Go pur, cu syscall.Syscall și unsafe.Pointer
Invocarea apelurilor de sistem Linux precum SYS_SYSINFO direct din Go pur, utilizând structuri aliniate conform ABI, unsafe.Pointer și pachetul standard syscall, fără cgo.

Any nu este Any, dar Any este Any
Analizează în detaliu tipul `any` din limbajul Go și structura internă `EFace`, și explică metodele de gestionare dinamică a tipurilor utilizând pachetul `reflect` precum și asertările și comutatoarele de tip (type assertions/type switches).

Structura implementărilor FIPS 140-2 și FIPS 140-3 din biblioteca criptografică standard Go
Analizează limitele integrării cu provideri OpenSSL externi scriși în C și prezintă BoringCrypto (FIPS 140-2), modul FIPS 140-3 al pachetului standard crypto nativ din Go, validarea Fail-Fast, ECDSA cu hedging (Hedged ECDSA) și structura DRBG.

Hartă de biți vibrantă
De la conceptul de index bitmap din baze de date până la principiile de funcționare ale Roaring Bitmap și utilizarea sa în limbajul Go. Explorăm optimizarea bitmap pentru procesarea eficientă a seturilor de date de mari dimensiuni.

Politică și calculatoare
Politica și informatica, două domenii aparent diferite, dar asemănătoare, explorează modul în care acestea pot contribui la soluționarea problemelor sociale și modul în care dezvoltatorul devine un nou legiuitor.

Principiul de funcționare al goroutinelor Go: stiva variabilă de 2KB și planificatorul M:N GMP
Descrie diferența dintre concurență și paralelism, stiva inițială variabilă de 2KB a goroutinelor, comutarea contextului la nivel de utilizator, GOMAXPROCS și modelul de planificare la rulare GMP (Goroutine-Machine-Processor).

Servere de baze de date și baze de date încorporate: o comparație a arhitecturii și a caracteristicilor I/O
Această lucrare compară RDBMS-urile bazate pe procese independente și bazele de date embedded in-process, precum SQLite, RocksDB, BadgerDB și PebbleDB, din perspectiva latenței I/O a unităților NVMe SSD, a izolării datelor în arhitecturi MSA și a structurii de implementare.

Configurarea serverului NATS încorporat într-o aplicație Go și structura comunicării în proces
Acest document prezintă metoda de configurare a unui broker NATS (nats-server/v2) integrat și rulat în interiorul unui proces Go, precum și proiectarea comunicării în memorie bazate pe InProcessConn și a interfeței de consumator definite.

Interfețele Go și inserarea structurilor (struct embedding): diferențele față de moștenirea claselor și proiectarea prin compoziție
Compară diferențele dintre moștenirea claselor din Java/C++ și tipizarea structurală a interfețelor din Go și explică, prin exemple de cod, modelul de compoziție bazat pe embedding de structuri și delegarea metodelor.

Cinci caracteristici de proiectare ale limbajului Go din perspectiva ingineriei sistemelor și a backend-ului
Această prezentare sintetizează filosofia de design a limbajului Go, cu accent pe compilarea nativă rapidă și pe performanța la execuție, pe biblioteca standard care funcționează fără framework-uri (net/http, database/sql), pe planificatorul de goroutine M:N și pe garantarea compatibilității retroactive.

Pauza de ceai verde pe care Go runtime-ul o va lua de la tine, GreenTea GC
Noul GC GreenTea al Go îmbunătățește performanța prin creșterea eficienței colectării obiectelor mici, pe baza spanurilor de memorie. Vom analiza problemele GC existente și beneficiile GreenTea GC.

Reducerea întârzierii răspunsului la încărcarea fișierelor HTTP în Go: implementarea unei cozi de lucru asincrone bazate pe canale
Structura separă recepția fișierelor temporare și operațiunile de transfer către containerele Incus din handler-ul de încărcare a fișierelor din net/http, prin utilizarea unui canal tampon (buffered channel) și a unui pool de workeri bazat pe goroutine, în scopul reducerii latenței de răspuns a endpoint-ului.

Analiza modificărilor de comportament din encoding/json/v2 din Go 1.25 și a stratului de compatibilitate cu v1
Compară potrivirea sensibilă la majuscule și minuscule, modificările semantice ale opțiunilor omitempty și omitzero, serializarea slice-urilor și map-urilor nil, precum și opțiunile aferente, în cazul encoding/json/v2, introdus ca funcționalitate experimentală în Go 1.25 (goexperiment.jsonv2).

Injectarea variabilelor la timpul compilării în Go: utilizarea go build -ldflags -X
Acest material prezintă modul de injectare a valorilor variabilelor de tip șir din Go în timpul compilării, fără a utiliza un fișier .env extern, prin specificarea indicatorului de linker go build -ldflags "-X" și a căii simbolului pachetului.

Gestionarea mai puțin anevoioasă a erorilor HTTP + RFC7807
Vă este greu să gestionați erorile din API-ul Go? Încercați RFC7807 pentru a le trata într-un mod mai simplu și mai clar.

Compararea limbajelor de programare în contexte de generare de cod cu LLM-uri: costul abstractizării și explicitatea în Go
Analiza polimorfismului orientat pe obiecte, a zahărului sintactic și a arborilor complecși de module care sporesc costul inferenței contextuale al LLM-urilor, precum și motivele pentru care Go, cu fluxul de control explicit și cu o sintaxă simplă, este favorabil generării de cod asistate de inteligență artificială.

Povestea Cilium: Cum o mică modificare de cod a adus o îmbunătățire remarcabilă a stabilității rețelei
Aflați în detaliu cum o mică modificare de cod din proiectul Cilium a îmbunătățit semnificativ stabilitatea gestionării conexiunilor NAT bazate pe LRU.

Să înțelegem puțin gazda MCP
Acesta este un articol care urmărește să contribuie la înțelegerea protocolului MCP al Anthropic și a gazdei MCP (mcphost) implementate în Go.

Rularea unui server Go în mod scalabil în .NET Aspire
Cum să rulezi scalabil un server Go cu .NET Aspire: exemplu de configurare pentru scalare orizontală și automatizare folosind reverse proxy-ul YARP.

Experiență cu utilizarea MLDSA și MLKEM în limbajul Go
În acest material vom examina modul de utilizare a algoritmilor de criptografie rezistentă la computerele cuantice, MLDSA și MLKEM, în limbajul Go, prezentând caracteristicile fiecărui algoritm și exemple de cod.

Prezentare generală a Go 1.24: Hărți Swiss Table, ML-KEM, os.Root și testing/synctest
Prezentare tehnică a Go 1.24: hărți integrate Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root și testing/synctest.

Randflake ID: Generarea distribuită a identificatorilor unici pe 64 de biți cu ajutorul cifrului bloc Sparx64
Generator distribuit de identificatori unici pe 64 de biți, care combină un marcaj temporal pe 30 de biți, un identificator de nod pe 17 biți, un contor local pe 17 biți și algoritmul de cifrare bloc Sparx64 ARX, pentru a produce identificatori imprevizibili.

Îmbunătățirea reactivității prin cache pe partea de client Redis
Îmbunătățirea reactivității API-urilor prin utilizarea Client Side Cache asistat de Redis Server

Implementarea unui vizualizator de imagini bazat pe listbox cu suport pentru fișiere multiple, folosind Go și Tcl/Tk 9.0
Se implementează un vizualizator grafic de imagini, capabil să deschidă mai multe fișiere de imagine, să comute selecția și să șteargă elemente din listă, prin adăugarea de legături (bindings) pentru comenzile Tcl listbox și de handlere de evenimente virtuale în modernc.org/tk9.0.

Implementarea unei interfețe grafice Tcl/Tk în Go fără CGo (modernc.org/tk9.0): împachetarea widget-urilor și randarea imaginilor
Implementați crearea de ferestre în Go, împachetarea widget-urilor de tip buton/bară de meniu și randarea imaginilor SVG/PNG/ICO folosind biblioteca multiplatformă modernc.org/tk9.0, fără dependențe CGo.

Go și ecosistemul OpenAPI
Prezentăm bibliotecile și strategiile care pot fi utilizate pentru dezvoltarea API-urilor bazate pe OpenAPI în limbajul Go.

Pachetul de pornire pentru concurență în Go
Prezentăm diverse instrumente și tehnici pentru gestionarea concurenței în Go, precum goroutine, canale și mutex-uri.

De ce a ales Go returnarea explicită a erorilor și panic-recover în locul aruncării excepțiilor prin try-catch
Analizăm limitele structurilor try-catch, care transferă responsabilitatea tratării excepțiilor de-a lungul stivei de apeluri, și descriem designul Go bazat pe panic și recover, care este rezervat stărilor nerecuperabile, în contrast cu tratarea explicită a erorilor la locul apelului.

Construirea infrastructurii de servicii AI în Go: concurență și integrare API
Modul în care Go gestionează orchestrarea API-urilor modelelor fundamentale, operațiile concurente de I/O de rețea, fluxurile de date în streaming și implementarea serviciilor native pentru cloud.