Go

CLI開発

CLI設計、flagパッケージ、cobra/viper、CLIアプリの構造化、exit code、stdin/stdout/stderr、UXパターン、CLIアプリのテスト

20 面接問題·
Senior
1

Goのflagパッケージの主な役割は何ですか?

回答

flagパッケージは、コマンドライン引数を解析するためのシンプルなAPIを提供します。事前定義された型(string、int、boolなど)でflagを定義でき、解析と検証を自動的に処理します。このパッケージは標準ライブラリの一部であり、シンプルなCLIに適しています。

2

flagパッケージでstring型のflagを定義し、その値を取得するにはどうすればよいですか?

回答

flag.String関数は、flagの値へのポインタを返します。flag.Parse()を呼び出した後、ポインタをデリファレンスすることで値にアクセスできます。既存の変数に直接バインドするためにflag.StringVarを使うこともできます。

3

flag.Stringとflag.StringVarの違いは何ですか?

回答

flag.Stringは新しい変数を割り当ててそのポインタを返しますが、flag.StringVarはアドレスで渡された既存の変数にflagをバインドします。StringVarは、変数をパッケージレベルで定義する必要がある場合や、デリファレンスを避けたい場合に便利です。

4

CLIアプリケーションが無効な引数のエラーに遭遇したとき、どのexit codeを使うべきですか?

5

標準のflagパッケージに対するCobraの主な利点は何ですか?

+17 面接問題

次の面接に向けてGoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める