Go

CLI-Entwicklung

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
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.

4

Welcher Exit-Code sollte verwendet werden, wenn eine CLI-Anwendung auf einen Fehler durch ungültige Argumente stößt?

5

Was ist der Hauptvorteil von Cobra gegenüber dem standardmäßigen flag-Paket?

+17 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten