# README
サンプルリスト
このディレクトリには以下のサンプルがあります。
file | example name | note |
---|---|---|
flagset.go | flags_flagset | flag.Flagset のサンプルです |
var.go | flags_var | flag.Var() のサンプルです |
int.go | flags_int | flag.Int(), flag.IntVar() のサンプルです |
bool.go | flags_bool | flag.Bool(), flag.BoolVar() のサンプルです |
string.go | flags_string | flag.String(), flag.StringVar() のサンプルです |
duration.go | flags_duration | flag.Duration(), flag.DurationVar() のサンプルです |
func.go | flags_func | flag.Func() のサンプルです |
textvar.go | flags_textvar | flag.TextVar() のサンプルです |
nargs.go | flags_nargs | flag.Arg(), flag.Args(), flag.NArg(), flag.NFlag() のサンプルです |
subcommand.go | flags_subcommand | flagパッケージを使ってサブコマンドを実現するサンプルです |
# Functions
Bool は、flag.Bool(), flag.BoolVar() のサンプルです。
flagパッケージの関数は、flag.Bool()のように受け皿を戻り値で返してくれる関数と flag.BoolVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
# REFERENCES - https://pkg.go.dev/[email protected]#Bool - https://pkg.go.dev/[email protected]#BoolVar.
Duration は、flag.Duration(), flag.DurationVar() のサンプルです。
flagパッケージの関数は、flag.Duration()のように受け皿を戻り値で返してくれる関数と flag.DurationVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
# REFERENCES - https://pkg.go.dev/[email protected]#Duration - https://pkg.go.dev/[email protected]#DurationVar.
Flagset は、flag.Flagsetのサンプルです。
通常、flagパッケージはアプリケーションの引数を扱うものであるが flag.Flagsetを利用することで、外から引数を指定してパースすることが可能となる。 ユニットテストと相性が良い。
# REFERENCES - https://pkg.go.dev/[email protected]#FlagSet.
Func は、flag.Func() のサンプルです.
Int は、flag.Int(), flag.IntVar() のサンプルです。
flagパッケージの関数は、flag.Int()のように受け皿を戻り値で返してくれる関数と flag.IntVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
# REFERENCES - https://pkg.go.dev/[email protected]#Int - https://pkg.go.dev/[email protected]#IntVar.
Nargs は、flag.Arg(), flag.Args(), flag.NArg(), flag.NFlag() のサンプルです.
NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。.
String は、flag.String(), flag.StringVar() のサンプルです。
flagパッケージの関数は、flag.String()のように受け皿を戻り値で返してくれる関数と flag.StringVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
# REFERENCES - https://pkg.go.dev/[email protected]#String - https://pkg.go.dev/[email protected]#StringVar.
Subcommand は、flagパッケージを使ってサブコマンドを実現するサンプルです.
TextVar は、 flag.TextVar() のサンプルです.
Var は、flag.Var() のサンプルです。
flag.Var() には、任意の値をフラグハンドリングのための値として指定出来ます。 条件として、flag.Valueインターフェースを実装している必要があります。
# REFERENCES - https://pkg.go.dev/[email protected]#Var - https://pkg.go.dev/[email protected]#Value - https://serverfault.com/a/846523 - https://www.rfc-editor.org/rfc/rfc6761.