flags
パッケージはこれらすべてをまだ処理していないため、Go 用の GNU スタイルのコマンドライン パーサーを作成しようとしています。
program -aAtGc --long-option-1 argument-to-1 --long-option-2 -- real-argument
flags
明らかに、パッケージを置き換えようとしているので、パッケージを使用したくありません。コマンドラインにアクセスする他の方法はありますか?
flags
パッケージはこれらすべてをまだ処理していないため、Go 用の GNU スタイルのコマンドライン パーサーを作成しようとしています。
program -aAtGc --long-option-1 argument-to-1 --long-option-2 -- real-argument
flags
明らかに、パッケージを置き換えようとしているので、パッケージを使用したくありません。コマンドラインにアクセスする他の方法はありますか?
どうでも。
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args
fmt.Printf("%d\n", len(args))
for i := 0; i<len(args); i++ {
fmt.Printf("%s\n", args[i])
}
}
ただし、ドキュメントはかなり不完全です。
os.Args の最初の引数は go ファイルの名前であるため、コマンド ライン引数のみを取得するには、次のようにする必要があります。
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args[1:]
for i := 0; i<len(args); i++ {
fmt.Println(args[i])
}
}