@@ -12,17 +12,9 @@ import (
1212 "time"
1313)
1414
15- func (c * Config ) setConfig (target string , serviceId string , apiKey string , endpoints []string , requestUnit int ) {
16- c .Target = target
17- c .ServiceID = serviceId
18- c .APIKey = apiKey
19- c .Endpoints = endpoints
20- c .RequestUnit = requestUnit
21- }
22-
23- func (c * Config ) loadConfig () error {
15+ func (c * Client ) loadConfig () error {
2416 // デフォルト値を設定
25- c .RequestUnit = 10
17+ c .Config . RequestUnit = 10
2618
2719 f , err := os .Open ("config.json" )
2820 if err != nil {
@@ -32,22 +24,19 @@ func (c *Config) loadConfig() error {
3224
3325 d := json .NewDecoder (f )
3426 d .DisallowUnknownFields ()
35- d .Decode (c )
27+ d .Decode (c . Config )
3628 return nil
3729}
3830
39- func initOption (modeFlag string ) (* Config , error ) {
40- option := & Config {}
31+ func (c * Client ) initOption (modeFlag string ) error {
4132 var err error
42-
4333 // コマンドライン引数で"-mode=auto"がセットされていたら、対話式のメッセージは表示しない
4434 if modeFlag == "auto" {
45- err := option .loadConfig ()
46- return option , err
35+ err := c .loadConfig ()
36+ return err
4737 }
4838
4939 // 対話式でオプションをセット
50-
5140 var target string
5241 var serviceId string
5342 var apiKey string
@@ -59,7 +48,7 @@ func initOption(modeFlag string) (*Config, error) {
5948 fmt .Println ("> モードを選択してください(auto / manual)" )
6049 for scanner .Scan () {
6150 if scanner .Text () == "auto" {
62- err = option .loadConfig ()
51+ err = c .loadConfig ()
6352 break
6453 }
6554
@@ -110,7 +99,7 @@ func initOption(modeFlag string) (*Config, error) {
11099 } else if len (scanner .Text ()) > 0 {
111100 num , err := strconv .Atoi (scanner .Text ())
112101 if err != nil {
113- return nil , err
102+ return err
114103 }
115104 requestUnit = num
116105 break
@@ -125,21 +114,27 @@ func initOption(modeFlag string) (*Config, error) {
125114 }
126115 }
127116
128- option .setConfig (target , serviceId , apiKey , endpoints , requestUnit )
117+ c .Config = & Config {
118+ Target : target ,
119+ ServiceID : serviceId ,
120+ APIKey : apiKey ,
121+ Endpoints : endpoints ,
122+ RequestUnit : requestUnit ,
123+ }
129124 break
130125 }
131126 }
132- return option , err
127+ return err
133128}
134129
135130func main () {
136- client := & Client {}
137- // コマンドライン因数の取得
131+ client := & Client {& Config {}}
132+
133+ // コマンドライン引数の取得
138134 modeFlag := flag .String ("mode" , "" , "mode value" )
139135 flag .Parse ()
140136
141- var err error
142- client .Config , err = initOption (* modeFlag )
137+ err := client .initOption (* modeFlag )
143138 if err != nil {
144139 log .Fatal ("正常にオプションをセットできませんでした" )
145140 }
0 commit comments