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.

Prehodnotenie Git monorepa: CAS-natívna architektúra pre ľudí a kódovacích agentov
Ako vybudovať monorepo bez démonov, natívne založené na CAS (content-addressable storage), na štandardnom Gite pomocou trunk snapshotov bez rodičovských commitov, izolovaných referencií pracovného priestoru, zlučovacích stromov v pamäti, hierarchického súboru OWNERS a synchronizácie zrkadiel so zložitosťou O(delta).

gosuda.org/zstd: Drop-In náhrada za DataDog/zstd s kompresiou bez CGO a izoláciou pádov
CGO_ENABLED=0 Knižnica Go Zstandard, ktorá spúšťa upstream C knižnicu libzstd 1.5.7 v shared-memory worker procese s API kompatibilným s DataDog/zstd, znovupoužiteľnými kontextmi a bulk batching.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql Driver nad IPC so zdieľanou pamäťou
Drop-in ovládač database/sql pre SQLite 3.54.1 pre Go s CGO_ENABLED=0, izoláciou pracovných procesov pomocou zdieľanej pamäte HQQ, predbežným načítavaním dávok riadkov po 64 KiB a binárnymi súbormi s overeniami SLSA.

HQQ: Izolácia C knižníc od Go cez Shared Memory s Cache-Line
Runtime pre IPC bez cgo, kompilátor IDL (hqq-bindgen) a overený procesový supervízor, ktoré spúšťajú natívne knižnice C11 v izolovaných pracovných procesoch prostredníctvom zdieľaných pamäťových kruhových bufferov.

Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding pre Go
Knižnica pre jazyk Go bez alokácií pamäte, ktorá kóduje zložené n-tice do bajtových kľúčov usporiadaných podľa memcmp, s nezávislým triedením ASC/DESC, značkami umiestnenia hodnôt NULL a hranicami prefixového skenovania.

Portalite: Ľahký Portal Go SDK so viacerými reléovými väzbami a štandardným net.Listener
Ide o ľahký klient Portal a CLI, ktorý podporuje štandardné rozhranie Go net.Listener, súbežné viazanie na viacero relé, end-to-end šifrovanie (E2EE) a automatické obnovenie relácie.

Go 1.27, alebo Ako som sa naučil prestať sa obávať a milovať generické metódy
Generické metódy, encoding/json/v2, štandardný balík uuid a detektor únikov goroutín, ktorý naozaj funguje. Prehliadka Go 1.27 s príkladmi, ktoré boli všetky skutočne spustené.

Analýza generovania assemblerového kódu pre AMD64 a inštrukcií vetvenia pre podmienený príkaz (if) v jazyku Go
Porovnávame, ako Go kompilátor prekladá podmienky if-else na strojové inštrukcie vetvenia architektúry AMD64, ako sú CMPQ, JGE a JMP, s výsledkom generovania vetviaceho kódu C kompilátorom (-O2).

Analýza runtime štruktúry spravovaných jazykov a assembly kódu AMD64 binárnych súborov Go
Porovnávame exekučné modely spravovaných (managed) a nespravovaných (unmanaged) jazykov a na základe AMD64 assembleru extrahovaného pomocou go tool objdump analyzujeme kontroly zásobníka (stack check) a štruktúru volaní runtime funkcií v binárnych súboroch Go.

Metodológia vývoja natívne orientovaného na AI: obojsmerné cyklovanie kontextu presahujúce rámec používania nástrojov
Porovnáva sa štrukturálne obmedzenie fázy závislosti od AI a fázy jednoduchého využívania nástrojov a definuje sa proces vývoja natívne orientovaný na AI, ktorý obojsmerne akumuluje zámer návrhu a organizačný kontext.

Portal Tunnel: Sprístupnenie lokálnych služieb localhost cez decentralizované verejné relé
Sprístupnite lokálne HTTP služby verejnému internetu jediným príkazom curl prostredníctvom viacreléových, bezoprávnených tunelov Portal, bez nutnosti vytvárať účty alebo inštalovať binárne súbory.

Shannonov limit kapacity kanála a štruktúra sémantickej komunikácie (Semantic Communication) založenej na AI
Zhodnotíme fyzikálne kapacitné limity kanála vymedzené Shannon-Hartleyho vetou a pojednáme o sémantickej komunikácii, ktorá prostredníctvom zdieľanej znalostnej bázy a sémantických kodérov/dekodérov komprimuje prenášané dáta na úrovni významových jednotiek namiesto bitov.

Portal: otvorené end-to-end šifrované reléové riešenie, ktoré sprostredkúva lokálne služby do externej siete
Tento článok opisuje architektúru Portal, ktorá sprístupňuje lokálny server vonkajšiemu internetu prostredníctvom otvorenej reléovej siete s koncovým šifrovaním (E2EE), a to bez verejnej IP adresy alebo nastavenia cloudovej infraštruktúry.

Priame systémové volania Linuxu v čistom Go pomocou syscall.Syscall a unsafe.Pointer
Vyvolanie systémových volaní Linux kernelu, ako je SYS_SYSINFO, priamo z čistého Go pomocou štruktúr zarovnaných podľa ABI, unsafe.Pointer a štandardného balíka syscall bez cgo.

Any nie je Any, ale Any je Any
Podrobne analyzujeme typ `any` jazyka Go a jeho internú štruktúru `EFace`, a vysvetľujeme metódy spracovania dynamických typov pomocou balíka `reflect` a type assertions a type switchov.

Štruktúra implementácií FIPS 140-2 a FIPS 140-3 v štandardnej kryptografickej knižnici jazyka Go
Analyzujeme obmedzenia integrácie s externým C poskytovateľom OpenSSL (OpenSSL Provider) a venujeme sa režimu FIPS 140-3 v natívnom štandardnom balíku crypto jazyka Go, overeniu typu Fail-Fast, metóde Hedged ECDSA a štruktúre DRBG, počnúc knižnicou BoringCrypto (FIPS 140-2).

Živá bitmapa
Od konceptu bitmapových indexov v databázach po princíp fungovania Roaring Bitmap a jeho využitie v jazyku Go. Skúmame optimalizáciu bitmáp pre efektívne spracovanie rozsiahlych dátových množín.

Politika a počítače
Politika a informatika, dve na prvý pohľad odlišné, no v mnohom podobné oblasti, skúmajú, ako dokážu riešiť spoločenské problémy a ako sa vývojári môžu stať novými zákonodarcami.

Princíp fungovania goroutín v jazyku Go: 2KB dynamický zásobník a plánovač M:N GMP
Vysvetľuje rozdiel medzi konkurentnosťou a paralelizmom, počiatočný dynamicky rastúci zásobník goroutine s veľkosťou 2 KB, prepínanie kontextu na používateľskej úrovni, GOMAXPROCS a model plánovania runtime GMP (Goroutine-Machine-Processor).

Databázové servery a embedded databázy: porovnanie architektúry a charakteristík I/O
Porovnávame nezávislé RDBMS založené na samostatných procesoch a vnorené databázy bežiace v rámci procesu aplikácie, ako sú SQLite, RocksDB, BadgerDB a PebbleDB, z hľadiska latencie I/O operácií na NVMe SSD, izolácie dát v architektúre MSA a štruktúry nasadenia.

Konfigurácia embedded NATS servera v aplikáciách Go a štruktúra komunikácie in-process
Tento text sa zaoberá konfiguráciou a spustením NATS brokera (nats-server/v2) vnoreného priamo v rámci procesu Go, ako aj návrhom inmemory komunikácie založenej na InProcessConn a rozhraním definovaným spotrebiteľom.

Rozhrania a vnorenie štruktúr v jazyku Go: rozdiely oproti dedičnosti tried a návrh založený na kompozícii
Porovnávame dedenie tried v jazykoch Java/C++ so štrukturálnym typovaním rozhraní v jazyku Go a vysvetľujeme kompozičný vzor (Composition) pomocou vnorenia štruktúr (struct embedding) a delegovania metód na konkrétfových príkladoch kódu.

5 konštrukčných vlastností jazyka Go z pohľadu systémového a backendového inžinierstva
Rýchla natívna kompilácia a výkon pri spúšťaní, štandardná knižnica fungujúca bez frameworkov (net/http, database/sql), plánovač goroutín typu M:N a záruka spätnej kompatibility sú v centre pozornosti tohto prehľadu filozofie návrhu jazyka Go.

Pohoda s čajom zelenej, ktorú Go runtime nevezme, GreenTea GC
Nový GreenTea GC v jazyku Go zlepšuje výkon tým, že na základe pamäťových spanov zvyšuje efektivitu GC pri malých objektoch. Pozrieme sa na problémy existujúceho GC a na výhody GreenTea GC.

Skrátenie oneskorenia odpovede pri nahrávaní súborov cez Go HTTP: implementácia asynchrónnej worker fronty založenej na kanáloch
Štruktúra oddeľuje príjem dočasných súborov a prenos do kontajnerov Incus v obslužnej rutine nahrávania súborov v net/http pomocou bufferovaného kanála a fondu worker goroutín, čím sa znižuje oneskorenie odpovede koncového bodu.

Analýza zmien správania encoding/json/v2 v Go 1.25 a vrstvy kompatibility s v1
Porovnávame case-sensitive párovanie, zmeny sémantiky omitempty/omitzero, serializáciu nil slice/map a možnosti encoding/json/v2, ktorý bol zavedený ako experimentálna funkcia Go 1.25 (goexperiment.jsonv2).

Vloženie premenných v čase kompilácie v Go: využitie go build -ldflags -X
Tento článok popisuje, ako pri kompilácii vložiť hodnoty reťazcových premenných jazyka Go bez použitia externého súboru .env, a to pomocou linkerového prepínača go build -ldflags "-X" a zadaním cesty k symbolu balíka.

Ako spracovať HTTP chyby menej neprehľadne a pohodlnejšie + RFC7807
Máte problémy so spracovaním chýb v Go API? Vyskúšajte RFC 7807, ktorý umožňuje spracovanie chýb jednoduchšie a jasnejšie.

Porovnanie jazykového dizajnu v prostredí generovania kódu pomocou LLM: náklady abstrakcie a explicitnosť jazyka Go
Analýza toho, ako objektovo orientovaný polymorfizmus, syntaktický cukor a zložité stromy modulov zvyšujú náklady LLM na kontextové uvažovanie, a rozbor dôvodov, prečo je Go s explicitným riadením toku a jednoduchou syntaxou výhodný pre generovanie kódu pomocou umelej inteligencie.

Cilium príbeh: Pozoruhodné zvýšenie stability siete vďaka malej zmene kódu
Podrobne sa pozrieme na to, ako jedna malá zmena kódu v projekte Cilium výrazne zvýšila spoľahlivosť správy spojení NAT založenej na LRU.

Pochopenie hostiteľa MCP
Tento článok má za cieľ napomôcť pochopeniu protokolu MCP od spoločnosti Anthropic a hostiteľa MCP (mcphost) implementovaného v jazyku Go.

Spustenie škálovateľného Go servera v .NET Aspire
Ako spustiť Go server škálovateľne pomocou .NET Aspire: príklad horizontálneho škálovania a automatizovanej konfigurácie s reverzným proxy serverom YARP.

Skúsenosti s používaním MLDSA a MLKEM v jazyku Go
V jazyku Go si predstavíme použitie postkvantovej kryptografie MLDSA a MLKEM, opíšeme charakteristiky jednotlivých algoritmov a poskytneme ukážky kódu.

Prehľad vydania Go 1.24: Swiss Table Maps, ML-KEM, os.Root a testing/synctest
Technický prehľad Go 1.24: vstavané mapy Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root a testing/synctest.

Randflake ID: Distribuované generovanie 64-bitových jedinečných ID so šifrou Sparx64 Block Cipher
Distribuovaný generátor jedinečných 64-bitových identifikátorov kombinujúci 30-bitovú časovú pečiatku, 17-bitový identifikátor uzla, 17-bitový lokálny počítadlo a blokovú šifru Sparx64 ARX na vytváranie nepredvídateľných identifikátorov.

Zvýšenie responzivity pomocou klientskeho cachovania v Redis
Zlepšenie odozvy API pomocou Redis Server Assisted Client Side Cache

Implementácia prehliadača obrázkov s viacsúborovým zoznamovým poľom založeného na Go a Tcl/Tk 9.0
Implementujeme grafickú prehliadačku obrázkov, ktorá pridáva väzby príkazov Tcl listbox a handlery virtuálnych udalostí do modernc.org/tk9.0, čo umožňuje otváranie viacerých súborov obrázkov, prepínanie výberu a odstraňovanie položiek zo zoznamu.

CGo bez Go Tcl/Tk (modernc.org/tk9.0) implementácia GUI: balenie widgetov a vykresľovanie obrázkov
Implementácia vytvárania okien, rozmiestňovania widgetov tlačidiel a panelov s ponukami a vykresľovania obrázkov SVG/PNG/ICO v jazyku Go pomocou multiplatformnej knižnice modernc.org/tk9.0, ktorá nevyžaduje závislosti na CGo.

Go a ekosystém OpenAPI
Predstavujeme knižnice a stratégie, ktoré je možné použiť pri vývoji API založenom na OpenAPI v jazyku Go.

Štartovací balíček pre súbežnosť v Go
Predstavujeme rôzne nástroje a techniky na správu súbežnosti v jazyku Go, vrátane goroutín, kanálov, mutexov a ďalších.

Prečo Go namiesto vyhadzovania výnimiek pomocou try-catch zvolil explicitné vracanie chýb a panic-recover
Preskúmame obmedzenia štruktúry try-catch, ktorá prenáša zodpovednosť za spracovanie výnimiek po zásobníku volaní, a opisujeme návrh panic-recover v jazyku Go, ktorý je obmedzený na neobnoviteľné stavy, spolu s explicitným spracovaním chýb (error) v mieste volania.

Budovanie infraštruktúry AI služieb v jazyku Go: súbežnosť a integrácia API
Ako Go spracováva orchestráciu API základných modelov, súbežné sieťové vstupy a výstupy, streamovacie spracovateľské reťazce a nasadzovanie služieb v cloud-native prostredí.