2017-11-05 11 views
3

私はCLIツールをgoで書いており、CLI argの解析にgithub.com/jessevdk/go-flagsを選択しました。私は位置の引数を必須にするための最良の方法を理解しようとしています。現在、私は次があります。go-flagsで定位置引数を要求する

func main() { 
    args, err := flags.Parse(&opts) 
    if err != nil { 
     panic(err) 
    } 

    if len(args) < 1 { 
     panic("An s3 bucket is required") 
    } 
} 

これは動作しますが、それはフラグが"required:true"をマークしているの場合のように、表示されているヘルプ出力にはなりません。手動で "印刷ヘルプ"機能を呼び出したり、必要な数の位置引数を設定したりして、その動作を複製する方法はありますか?

答えて

1

os.Argsを使用しますか?例:

package main 

import (
    "fmt" 
    "os" 
) 

const Usage = `Usage: 
%s one two 
` 

func main() { 

    if len(os.Args) != 3 { 
     fmt.Printf(Usage, os.Args[0]) 
     os.Exit(-1) 
    } 

    //run program 
} 

os.Argsには、プログラム名から始まるコマンドライン引数があります。

https://play.golang.org/p/Le9EMxmw9k

関連する問題