b137359b90
Files changed: - kb/concepts/Denylist over Allowlist.md - kb/concepts/LLM Wiki Pattern.md - kb/concepts/SSD TRIM.md - kb/entities/people/E3DC GmbH.md - kb/entities/people/Vannevar Bush.md - kb/entities/projects/ha-core.md - kb/entities/projects/hacs-integration-blueprint.md - kb/entities/systems/AGENTS.md.md - kb/entities/systems/CLAUDE.md.md - kb/entities/systems/E3DC.md - kb/entities/systems/ENVIRONMENT.md.md - kb/entities/systems/Memex.md - kb/entities/systems/Tolkien Gateway.md - kb/entities/technologies/Arch Linux.md - kb/entities/technologies/Disk Encryption.md - kb/entities/technologies/Docker.md - kb/entities/technologies/Gitea Actions.md - kb/entities/technologies/Gitea.md - kb/entities/technologies/Go.md - kb/entities/technologies/Home Assistant.md - kb/entities/technologies/Kernel PM Governors.md - kb/entities/technologies/LVM.md - kb/entities/technologies/Linux Kernel.md - kb/entities/technologies/MQTT.md - kb/entities/technologies/OPC UA.md - kb/entities/technologies/Python.md - kb/entities/technologies/Rust.md - kb/entities/technologies/Wine GE.md - kb/entities/technologies/Wine-Staging.md - kb/entities/technologies/acpi-cpufreq.md - kb/entities/technologies/amd-pstate.md - kb/entities/technologies/iii Engine.md - kb/entities/tools/AUR.md - kb/entities/tools/Act Runner.md - kb/entities/tools/Agent Memory.md - kb/entities/tools/Aura.md - kb/entities/tools/Bottles.md - kb/entities/tools/ChatGPT.md - kb/entities/tools/Claude Code.md - kb/entities/tools/Codex CLI.md - kb/entities/tools/Dataview.md - kb/entities/tools/GPG.md - kb/entities/tools/GitHub Copilot.md - kb/entities/tools/Gitea MCP Server.md - kb/entities/tools/Lutris.md - kb/entities/tools/Marp.md - kb/entities/tools/Mistral Vibe.md - kb/entities/tools/NotebookLM.md - kb/entities/tools/Obsidian Web Clipper.md - kb/entities/tools/Obsidian.md - kb/entities/tools/OpenAI Codex.md - kb/entities/tools/OpenCode.md - kb/entities/tools/Pi.md - kb/entities/tools/Proton.md - kb/entities/tools/Wine.md - kb/entities/tools/awesome-llm-wiki.md - kb/entities/tools/farzaa gist.md - kb/entities/tools/gdeploy.md - kb/entities/tools/makepkg.md - kb/entities/tools/pascalandy schema.md - kb/entities/tools/qmd.md - kb/entities/tools/wikitool.md - kb/log.md - work/link-taxonomy-migration/glossary.md
4.6 KiB
4.6 KiB
type, entity_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
| type | entity_type | tags | created | modified | related | sources | confidence | confidence_base | provenance | summary | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| types/entity.md | technology |
|
2026-07-25 | 2026-08-29 |
|
0.95 | 0.95 | general | Quelloffene Programmiersprache von Google für Systemprogrammierung und Backend-Dienste, mit eingebauter Nebenläufigkeit über Goroutines und Channels. |
Go
Typ: Technology (Programming Language)
Beschreibung
Go (häufig als Golang bezeichnet) ist eine Open-Source-, statisch typisierte, kompilierte Programmiersprache, die von Google entwickelt wurde. Sie ist für die Erstellung einfacher, schneller und zuverlässiger Software konzipiert.
Go ist besonders gut geeignet für Systemprogrammierung, Backend-Services und nebenläufige Anwendungen aufgrund seiner integrierten Unterstützung für Nebenläufigkeit (Goroutines und Channels), schnelle Kompilierung und effiziente Laufzeit.
Kerndaten
- Typ: Programmiersprache
- Paradigma: Prozedural, nebenläufig
- Erste Erscheinung: 2009
- Entworfen von: Robert Griesemer, Rob Pike, Ken Thompson bei Google
- Lizenz: BSD-ähnlich
- Website: https://golang.org
- Aktuelle stabile Version: 1.22+ (Stand 2026)
Beziehungen
- Verwendet von: ha-core, gdeploy, plugnburn-edl, BCDModule, goresponsiveness, hacs-e3dc
- Konkurriert mit: Rust, Java, C++, Python (für Backend)
- Beeinflusst von: C, Pascal, Oberon
- Beeinflusst: Viele moderne Sprachen
Schlüsselfunktionen
Sprachfunktionen
- Statische Typisierung - Typsicherheit mit Typinferenz
- Nebenläufigkeit - Goroutines (leichte Threads) und Channels
- Garbage Collection - Automatische Speicherverwaltung
- Interfaces - Implizite Implementierung (Duck Typing)
- Pakete - Modulare Organisation
- Tooling - Built-in Build-, Test-, Format- und Dokumentations-Tools
Leistung
- Schnelle Kompilierung
- Effiziente Ausführung (native Binärdateien)
- Niedrige Latenz
- Gut für CPU-intensive und I/O-intensive Aufgaben
Ökosystem
- Pakerverwaltung: Go Modules (seit Go 1.11)
- Standardbibliothek: Umfangreich und gut konzipiert
- Pakete von Drittanbietern: Wachsendes Ökosystem auf pkg.go.dev
Anwendungsfälle
Basierend auf der Repository-Struktur wird Go verwendet für:
- Hausautomation - ha-core
- Deployment-Tools - gdeploy
- EDL-bezogene Tools - plugnburn-edl, andybalholm-edl
- Modulsysteme - BCDModule
- Performance-Testing - goresponsiveness
Vor- und Nachteile
Vorteile
- Schnelle Kompilierung und Ausführung
- Exzellente Standardbibliothek
- Integrierte Unterstützung für Nebenläufigkeit
- Einfache Syntax
- Starkes Tooling-Ökosystem
- Plattformübergreifende Kompilierung
- Gut für Microservices und CLI-Tools
Nachteile
- Weniger flexibel als dynamisch typisierte Sprachen
- Keine Generics (bis Go 1.18)
- Error Handling kann verbose sein
- Begrenzte Meta-Programmierungsfunktionen
Lernressourcen
- Offiziell: https://golang.org/doc
- Tour: https://go.dev/tour/
- Effective Go: https://go.dev/doc/effective_go
- Blog: https://go.dev/blog/
Toolchain
go build- Pakete und Abhängigkeiten kompilierengo test- Tests ausführengo fmt- Code formatierengo mod- Modul-Verwaltunggo doc- Dokumentationgo run- Kompilieren und ausführengodep- Abhängigkeits-Tool (älter)
Best Practices
- Formatierung: Immer
go fmtverwenden - Testen: Tests mit dem Testing-Paket schreiben
- Error Handling: Explizite Fehlerprüfung
- Nebenläufigkeit: Channels für Kommunikation verwenden
- Interfaces: Kleine, fokussierte Interfaces entwerfen
Historie
- [2009] - Erste öffentliche Veröffentlichung
- [2012] - Go 1.0 veröffentlicht
- [2015] - Go 1.5 mit Self-Hosting-Compiler
- [2018] - Go 1.11 mit Modulen
- [2020] - Go 1.15 mit verbessertem Linker
- [2022] - Go 1.18 mit Generics
- [2026-07-25] - Entity-Seite erstellt
Siehe auch
- ha-core - Verwendet Go für E3DC-Integration
- gdeploy - Go-basiertes Deployment-Tool
- Alternative Systemsprache
- Alternative Skriptsprache
- Systems Programming concept
Beziehungen
- required-by: ha-core
- required-by: gdeploy
- required-by: plugnburn-edl
- required-by: BCDModule
- required-by: goresponsiveness
- required-by: hacs-e3dc