File tree Expand file tree Collapse file tree 3 files changed +57
-5
lines changed
Expand file tree Collapse file tree 3 files changed +57
-5
lines changed Original file line number Diff line number Diff line change 22
33このディレクトリには以下のサンプルがあります。
44
5- | file | example name | note |
6- | ---------- | ------------- | ---------------------------------------- |
7- | flagset.go | flags_flagset | flag.Flagset のサンプルです |
8- | var.go | flags_var | flag.Var() のサンプルです |
9- | int.go | flags_int | flag.Int(), flag.IntVar() のサンプルです |
5+ | file | example name | note |
6+ | ---------- | ------------- | ------------------------------------------ |
7+ | flagset.go | flags_flagset | flag.Flagset のサンプルです |
8+ | var.go | flags_var | flag.Var() のサンプルです |
9+ | int.go | flags_int | flag.Int(), flag.IntVar() のサンプルです |
10+ | bool.go | flags_bool | flag.Bool(), flag.BoolVar() のサンプルです |
Original file line number Diff line number Diff line change 1+ package flags
2+
3+ import (
4+ "flag"
5+
6+ "github.com/devlights/gomy/output"
7+ )
8+
9+ // Bool は、flag.Bool(), flag.BoolVar() のサンプルです。
10+ //
11+ // flagパッケージの関数は、flag.Bool()のように受け皿を戻り値で返してくれる関数と
12+ // flag.BoolVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
13+ //
14+ // # REFERENCES
15+ // - https://pkg.go.dev/flag@go1.22.4#Bool
16+ // - https://pkg.go.dev/flag@go1.22.4#BoolVar
17+ func Bool () error {
18+ var (
19+ fs = flag .NewFlagSet ("" , flag .ExitOnError )
20+
21+ b1 * bool
22+ b2 bool
23+ )
24+
25+ b1 = fs .Bool ("b1" , false , "bool value 1" )
26+ fs .BoolVar (& b2 , "b2" , true , "bool value 2" )
27+
28+ fs .Parse ([]string {"-b1" , "-b2=false" })
29+
30+ output .Stdoutl ("[b1]" , * b1 )
31+ output .Stdoutl ("[b2]" , b2 )
32+
33+ return nil
34+
35+ /*
36+ $ task
37+ task: [build] go build .
38+ task: [run] ./try-golang -onetime
39+
40+ ENTER EXAMPLE NAME: flags_bool
41+
42+ [Name] "flags_bool"
43+ [b1] true
44+ [b2] false
45+
46+
47+ [Elapsed] 36.81µs
48+ */
49+
50+ }
Original file line number Diff line number Diff line change @@ -16,4 +16,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
1616 m ["flags_flagset" ] = Flagset
1717 m ["flags_var" ] = Var
1818 m ["flags_int" ] = Int
19+ m ["flags_bool" ] = Bool
1920}
You can’t perform that action at this time.
0 commit comments