# CLI-Entwicklung (Go) > CLI-Design, flag-Paket, cobra/viper, Strukturierung von CLI-Apps, Exit-Codes, stdin/stdout/stderr, UX-Muster, Testen von CLI-Apps - 20 Interview-Fragen - Senior - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist die Hauptrolle des flag-Pakets in Go? **Antwort** Das flag-Paket bietet eine einfache API zum Parsen von Kommandozeilenargumenten. Es ermöglicht das Definieren von Flags mit vordefinierten Typen (string, int, bool usw.) und übernimmt Parsing und Validierung automatisch. Dieses Paket ist Teil der Standardbibliothek und eignet sich für einfache CLIs. ## 2. Wie definiert man ein string-Flag mit dem flag-Paket und ruft seinen Wert ab? **Antwort** Die Funktion flag.String gibt einen Zeiger auf den Flag-Wert zurück. Nach dem Aufruf von flag.Parse() kann auf den Wert durch Dereferenzieren des Zeigers zugegriffen werden. Es ist auch möglich, flag.StringVar zu verwenden, um direkt an eine bestehende Variable zu binden. ## 3. Was ist der Unterschied zwischen flag.String und flag.StringVar? **Antwort** flag.String allokiert eine neue Variable und gibt einen Zeiger darauf zurück, während flag.StringVar das Flag an eine vorhandene, per Adresse übergebene Variable bindet. StringVar ist nützlich, wenn die Variable auf Paketebene definiert werden muss oder wenn man Dereferenzierungen vermeiden möchte. ## 17 weitere Fragen verfügbar - Welcher Exit-Code sollte verwendet werden, wenn eine CLI-Anwendung auf einen Fehler durch ungültige Argumente stößt? - Was ist der Hauptvorteil von Cobra gegenüber dem standardmäßigen flag-Paket? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [Database/SQL](https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql.md): 22 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [REST-API-Design](https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design.md): 20 Fragen, Mid-Level - [gRPC](https://sharpskill.dev/de/technologies/go/interviewfragen/grpc.md): 22 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Speicherverwaltung](https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Go Design Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns.md): 24 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development