ディレクティブを使用するときにフラグ値にスペースを入れるにはどうすればよいですか?
環境
パッケージは、flagGo の呼び出し方法に応じて、スペースを含むフラグを異なる方法で受け取り、処理します。フラグ値の引用はコマンドラインからは機能しますが、たとえば などのディレクティブでは機能しませんgo generate。
つまり、コマンド ラインから呼び出されるとFlag1、正しい値 (つまり、4 ワード、3 スペース) が返されます。
作品
% go run -tags generate main.go -Flag1="flag value with spaces"
動作しません
ただし、ディレクティブ ファイルでまったく同じコマンドを呼び出すと (たとえば、 を使用go generate ./...)、Flag1正しい値が返されません。次の行を含むディレクティブ ファイル (例: generate.go) を取得します。
//go:generate go run -tags generate main.go -Flag1="flag value with spaces" -Flag2=next
Flag1正しくFlag2設定されておらず、まったく設定されていません。