File tree Expand file tree Collapse file tree 3 files changed +59
-6
lines changed
Expand file tree Collapse file tree 3 files changed +59
-6
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() のサンプルです |
10- | bool.go | flags_bool | flag.Bool(), flag.BoolVar() のサンプルです |
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() のサンプルです |
11+ | string.go | flags_string | flag.String(), flag.StringVar() のサンプルです |
12+ | | | |
Original file line number Diff line number Diff line change @@ -17,4 +17,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
1717 m ["flags_var" ] = Var
1818 m ["flags_int" ] = Int
1919 m ["flags_bool" ] = Bool
20+ m ["flags_string" ] = String
2021}
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+ // String は、flag.String(), flag.StringVar() のサンプルです。
10+ //
11+ // flagパッケージの関数は、flag.String()のように受け皿を戻り値で返してくれる関数と
12+ // flag.StringVar() のように予め自前で用意している変数を利用する2パターンの使い方がある。
13+ //
14+ // # REFERENCES
15+ // - https://pkg.go.dev/flag@go1.22.4#String
16+ // - https://pkg.go.dev/flag@go1.22.4#StringVar
17+ func String () error {
18+ var (
19+ fs = flag .NewFlagSet ("" , flag .ExitOnError )
20+
21+ s1 * string
22+ s2 string
23+ )
24+
25+ s1 = fs .String ("s1" , "" , "string value 1" )
26+ fs .StringVar (& s2 , "i2" , "default-value" , "string value 2" )
27+
28+ fs .Parse ([]string {"-s1" , "helloworld" })
29+
30+ output .Stdoutl ("[s1]" , * s1 )
31+ output .Stdoutl ("[s2]" , s2 )
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_string
41+
42+ [Name] "flags_string"
43+ [s1] helloworld
44+ [s2] default-value
45+
46+
47+ [Elapsed] 16.98µs
48+ */
49+
50+ }
You can’t perform that action at this time.
0 commit comments