ホームページ >バックエンド開発 >Golang >Golang - flag.Arg(0) は、exec.cmd によって渡された引数のインデックス 0 の代わりにインデックス 1 を返します。

Golang - flag.Arg(0) は、exec.cmd によって渡された引数のインデックス 0 の代わりにインデックス 1 を返します。

WBOY
WBOY転載
2024-02-10 14:39:08551ブラウズ

Golang - flag.Arg(0) 返回 exec.cmd 传递的参数的索引 1 而不是索引 0

Golang は高速、効率的、信頼性の高いプログラミング言語であり、flag.Arg(0) は Golang で一般的に使用される関数で、exec.cmd インデックス 1 によって渡されたパラメータを返すために使用されます。 。ただし、PHP エディターの Zimo は、この関数の動作が期待どおりではなく、実際にはインデックス 0 ではなくインデックス 1 を返すと指摘しました。この問題により、プログラムによるパラメータの処理でエラーが発生する可能性があります。この記事では、この問題の原因を説明し、開発者が flag.Arg(0) 関数を正しく使用するのに役立つ解決策を提供します。

質問の内容

現在の bar アプリケーションには次のようなコンテンツがあります

リーリー

今、私の foo アプリケーションには次のようなものがあります

リーリー

上記の c.args = [1,2,3]

foo プログラムが bar プログラムを呼び出そうとしました。bar には 2 が表示されます 列を表示させる方法 1.

flag.parse は知っています。最初のパラメータは無視します。 flag.arg() を使用して最初の引数 (インデックス 0) を読み取る方法

回避策

cmd.args コマンド名が含まれます。 flag.arg(0) は、コマンド名とフラグの後の最初の引数です。

コマンド名を

cmd.args に追加することで修正されました。 リーリー

以上がGolang - flag.Arg(0) は、exec.cmd によって渡された引数のインデックス 0 の代わりにインデックス 1 を返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。