
CLI開発
CLI設計、flagパッケージ、cobra/viper、CLIアプリの構造化、exit code、stdin/stdout/stderr、UXパターン、CLIアプリのテスト
20 面接問題·
Senior
1Goのflagパッケージの主な役割は何ですか?
1
Goのflagパッケージの主な役割は何ですか?
回答
flagパッケージは、コマンドライン引数を解析するためのシンプルなAPIを提供します。事前定義された型(string、int、boolなど)でflagを定義でき、解析と検証を自動的に処理します。このパッケージは標準ライブラリの一部であり、シンプルなCLIに適しています。
2flagパッケージでstring型のflagを定義し、その値を取得するにはどうすればよいですか?
2
flagパッケージでstring型のflagを定義し、その値を取得するにはどうすればよいですか?
回答
flag.String関数は、flagの値へのポインタを返します。flag.Parse()を呼び出した後、ポインタをデリファレンスすることで値にアクセスできます。既存の変数に直接バインドするためにflag.StringVarを使うこともできます。
3flag.Stringとflag.StringVarの違いは何ですか?
3
flag.Stringとflag.StringVarの違いは何ですか?
回答
flag.Stringは新しい変数を割り当ててそのポインタを返しますが、flag.StringVarはアドレスで渡された既存の変数にflagをバインドします。StringVarは、変数をパッケージレベルで定義する必要がある場合や、デリファレンスを避けたい場合に便利です。
4
CLIアプリケーションが無効な引数のエラーに遭遇したとき、どのexit codeを使うべきですか?
5
標準のflagパッケージに対するCobraの主な利点は何ですか?
+17 面接問題
その他のGo面接トピック
Goの基礎
Junior
25問Goのデータ構造
Junior
20問Go のインターフェース
Junior
18問エラー処理
Junior
20問Goroutine の基礎
Junior
20問Channels
Junior
22問Go Modules
Mid-Level
18問HTTP サーバー
Mid-Level
24問HTTPクライアント
Mid-Level
18問JSON エンコーディング
Mid-Level
20問Database/SQL
Mid-Level
22問context パッケージ
Mid-Level
20問Testing
Mid-Level
22問並行処理パターン
Mid-Level
24問同期プリミティブ
Mid-Level
22問Go Web フレームワーク
Mid-Level
20問REST API 設計
Mid-Level
20問gRPC
Mid-Level
22問Reflection
Senior
20問メモリ管理
Senior
24問パフォーマンス最適化
Senior
22問Generics
Senior
20問Go Design Patterns
Senior
24問Microservices
Senior
24問セキュリティと認証
Senior
24問Docker & Containerization
Senior
20問Kubernetes Basics
Senior
22問高度な Go
Senior
20問