Files
chemenu/kb/entities/technologies/Go.md
T
torben b137359b90 feat: Link-Taxonomie u1 - kb/entities/systems, tools, technologies gelabelt
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
2026-09-02 19:36:04 +02:00

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
programming-language
compiled
backend
systems
2026-07-25 2026-08-29
required-by
ha-core
required-by
gdeploy
required-by
plugnburn-edl
required-by
BCDModule
required-by
goresponsiveness
required-by
hacs-e3dc
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

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:

  1. Hausautomation - ha-core
  2. Deployment-Tools - gdeploy
  3. EDL-bezogene Tools - plugnburn-edl, andybalholm-edl
  4. Modulsysteme - BCDModule
  5. 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

Toolchain

  • go build - Pakete und Abhängigkeiten kompilieren
  • go test - Tests ausführen
  • go fmt - Code formatieren
  • go mod - Modul-Verwaltung
  • go doc - Dokumentation
  • go run - Kompilieren und ausführen
  • godep - Abhängigkeits-Tool (älter)

Best Practices

  1. Formatierung: Immer go fmt verwenden
  2. Testen: Tests mit dem Testing-Paket schreiben
  3. Error Handling: Explizite Fehlerprüfung
  4. Nebenläufigkeit: Channels für Kommunikation verwenden
  5. 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