Intern
Čo je to programovací jazyk Go?
sobes.tech AI
Odpoveď od AI
Go (alebo Golang) je kompilovaný, prísne typovaný, odpadový kolektor, viacvláknový jazyk s otvoreným zdrojovým kódom, ktorý vyvinuli v Google Robert Griesemer, Rob Pike a Ken Thompson.
Hlavné vlastnosti:
- Jednoduchosť a čitateľnosť: Syntax je minimalistická, podobná C, ale bez mnohých zložitostí.
- Concurrency: Zabudovaná podpora ľahkých vlákien (gorutiny) a kanálov na bezpečnú výmenu dát.
- Kompilácia: Rýchla kompilácia do natívnych spustiteľných súborov bez vonkajších závislostí.
- Statické typovanie: Typy sa kontrolujú počas kompilácie, čo pomáha predísť chybám za behu.
- Zberač odpadu (Garbage Collector): Automatické riadenie pamäte, znižuje počet chýb súvisiacich s uvoľňovaním pamäte.
- Štandardná knižnica: Bohatá a dobre zdokumentovaná štandardná knižnica pre rôzne úlohy.
- Nástroje: Zabudované prostriedky na formátovanie kódu (
go fmt), testovanie (go test), správu závislostí (go mod).
// Príklad jednoduchého programu v Go
package main // Vyhlásenie balíka
import "fmt" // Import balíka pre formátovaný vstup/výstup
func main() { // Vstupný bod programu
fmt.Println("Ahoj, svet!") // Výstup riadku do konzoly
}
Použitie:
- Vývoj serverových aplikácií a mikroslužieb.
- Nástroje príkazového riadku.
- Sieťové programovanie.
- Cloudové výpočty (Kubernetes, Docker).
- Vývoj distribuovaných systémov.
Rozdiely od iných jazykov:
| Charakteristika | Go | Java | Python |
|---|---|---|---|
| Typovanie | Statické, prísne | Statické, prísne | Dynamické, slabé |
| Concurrency | Zabudované (gorutiny, kanály) | Nativné vlákna | Vlákna (GIL) |
| Výkon | Vysoký | Vysoký | Stredný (interpretovaný) |
| Správa pamäte | Zberač odpadu | Zberač odpadu | Zberač odpadu |
| Syntax | Jednoduchá, minimalistická | Viac slovná | Čitateľná, pythonička |