
CLI-Entwicklung
CLI-Design, flag-Paket, cobra/viper, Strukturierung von CLI-Apps, Exit-Codes, stdin/stdout/stderr, UX-Muster, Testen von CLI-Apps
1Was ist die Hauptrolle des flag-Pakets in Go?
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.
2Wie definiert man ein string-Flag mit dem flag-Paket und ruft seinen Wert ab?
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.
3Was ist der Unterschied zwischen flag.String und flag.StringVar?
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.
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?
+17 Interview-Fragen
Weitere Go-Interviewthemen
Go-Grundlagen
Go-Datenstrukturen
Go-Interfaces
Fehlerbehandlung
Goroutines-Grundlagen
Channels
Go Modules
HTTP-Server
HTTP-Client
JSON-Kodierung
Database/SQL
context-Paket
Testing
Concurrency-Patterns
Synchronisationsprimitive
Go-Web-Frameworks
REST-API-Design
gRPC
Reflection
Speicherverwaltung
Performance-Optimierung
Generics
Go Design Patterns
Microservices
Sicherheit und Authentifizierung
Docker & Containerization
Kubernetes Basics
Fortgeschrittenes Go
Meistere Go für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten