Kommandozeilen App mit Go

happy-GO-lucky! Dein perfekter Start mit Go

Tutorial mit 4 Lektionen | Jede Woche eine neue Lektion mit GO Experte Jan Stamer

Tage
Stunden
Minuten
Sekunden
Jan Stamer

Dein optimaler Einstieg in Go

Experte Jan Stamer erklärt, wie der perfekte Start mit Go gelingt: Mit der Entwicklung einer Kommandozeilen-App! In diesem Tutorial lernst du die verschiedenen Varianten von Flags kennen, beschäftigst dich sowohl mit der Go-Standardbibliothek als auch mit Cobra und wirst in das Konzept der nebenläufigen Programmierung eingeführt. Zum Abschluss wirst du deine Anwendung über GitHub Releases mithilfe von GoReleaser ausliefern.

Kommandozeilen App mit Go

Go für Anfänger: CLI-Apps erstellen und erfolgreich deployen

Go bringt alles mit, um großartige Kommandozeilen-Apps zu entwickeln: einfache Syntax, umfangreiche Standardbibliothek und läuft auf jeder Plattform. Heraus kommen statische Binaries ohne Abhängigkeiten und das für Mac, Windows oder Linux. Eine Kommandozeilen-App eignet sich super zum Einstieg in die Go-Entwicklung. Du lernst eine Go-Anwendung für die Kommandozeile zu entwickeln und auszuliefern. Wir fangen mit der Go-Standardbibliothek an und arbeiten uns vor bis zur mächtigen Cobra Library die auch Kubernetes nutz.

Kommandozeilen App mit Go

Lektions-Übersicht

Kommandozeilen App mit Go - Inhalte

Von der Go-Standardbibliothek bis zur mächtigen Cobra Library

In der ersten Lektion lernst du, mit Go Deine erste Go-Kommandozeilen-Anwendung zu entwickeln. Gemeinsam entwickeln wir eine kleine Kommandozeilen-Anwendung für die 18 Prinzipien der Go-Entwicklung, die Go Proverbs. Aber davor gibt’s einen kurzen Einstieg in die Go-Entwicklung mit Visual Studio Code und dem Go Compiler, sowie ein Hello World für die Kommandozeile.

Ein gutes Kommandozeilen-Tool nach der Unix Philosophie nutzt Argumente und Parameter. Das machen wir für unser CLI Tool zunächst mithilfe der Flags aus der reichen Standardbibliothek von Go. Wie es sich für ordentliche Unix Tools gehört, folgen wir dem POSIX Standard von Unix, und dazu wechseln wir anschließend von der Standardbibliothek zum Go Modul pflags für POSIX konforme Unix Flags.

Die CLI Tools von GitHub und Kubernetes haben eines gemeinsam: Beide nutzen das CLI Framework Cobra für Go. Wir begeben uns in die Fänge der Cobra – Du lernst, mit Cobra mächtige Kommandozeilen-Apps zu bauen, die nicht nur Parameter und Argumente unterstützen, sondern auch Unterkommandos. Zum Abschluss liefern wir Dein Go CLI Tool über GitHub Releases aus – dazu nutzen wir GoReleaser.

Wir nutzen jetzt Go’s mächtiges Konzept zur nebenläufigen Programmierung mit Go Routinen und Channels. Denn wir bauen ein CLI Tool, das Dateien herunterlädt – und zwar mehrere parallel. Dazu bauen wir Schritt für Schritt eine kleine Job Steuerung aus Go Routinen und Channels auf. Der CLI Downloader unterstützt konfigurierbare Timeouts und reagiert auf den Abbruch von der Konsole über Betriebssystem Signale.

Dieses Tutorial hilft...

  1. Einsteigern in Go, die gerade erst mit dieser Programmiersprache beginnen und einen praktischen Einstieg suchen.
  2. Softwareentwicklern, die lernen möchten, wie man robuste, plattformübergreifende Kommandozeilen-Apps erstellt.
  3. Programmierern, die bereits Erfahrung in anderen Sprachen haben, aber das Ökosystem und die Besonderheiten von Go kennenlernen möchten.
  4. Entwicklern oder Administratoren, die die Cobra Library in Kubernetes verwenden wollen.
Kommandozeilen App mit Go

Expertenwissen aus erster Hand

Jan Stamer

Jan Stamer - crossnative

Als Leading Software Engineer realisiert und konzipiert Jan Stamer zukunftsweisende und nachhaltige digitale Lösungen. Dazu nutzt er einen modernen cloud-native Stack mit Java, Go und zeitgemäßen Web Technologien. Die Projekte bei crossnative bringt Jan voran, indem er sich um cloud-native IT Architektur kümmert oder die Entwicklungsleitung übernimmt. Abseits der Arbeit findet Ihr Jan auf dem Tennisplatz oder er verbringt Zeit mit seiner Familie und seinen 3 Kindern.

Wie kann ich teilnehmen?

Fullstack-Abonennt:innen haben Zugriff auf dieses Tutorial. Logge dich auf entwickler.de ein und komme direkt zu deinem Tutorial unter Akademie. Zum Login

Fullstack-
Abo

Einzel-Nutzer Lizenz

249,90 € pro Jahr

Software Know-How für deinen Erfolg!

Fullstack
Team-Abo

Teams mit 3-15 Nutzer

ab 449,00€ pro Jahr *

Software Know-How für deinen Erfolg!

Fullstack
Elevate

Für Teams ab 16 Nutzern

Auf Anfrage

Fullstack-Abo für mehr als 15 Nutzern

Wir begleiten Sie durch die digitale Transformation zum Projekterfolg

Fullstack-Abo abschließen und teilnehmen

*zzgl. MwSt.