回答編集履歴

2

追記されたエラーについての解説を追記

2019/01/23 06:21

投稿

spre55
spre55

スコア24

test CHANGED
@@ -125,3 +125,107 @@
125
125
 
126
126
 
127
127
  標準パッケージですのでapp.go内への記載だけで大丈夫のはずです。
128
+
129
+
130
+
131
+
132
+
133
+ -- 追記(2019/01/23) --
134
+
135
+
136
+
137
+ エラーの内容は
138
+
139
+
140
+
141
+ ```
142
+
143
+ ERROR: (gcloud.app.deploy) Error Response: [9] Deployment contains files that cannot be compiled: Compile failed:
144
+
145
+ /work_dir/app.go:110:22: it declared and not used
146
+
147
+ ```
148
+
149
+
150
+
151
+ となっていますね。
152
+
153
+ もし英語などで何を言っているかわからない、ということであれば、
154
+
155
+ 「it declared and not used」を翻訳してみましょう。
156
+
157
+
158
+
159
+ ![翻訳結果](c1fd61b74c99d6361c4ac552af70f8ad.png)
160
+
161
+
162
+
163
+ 「宣言されていて使われていない」とでてます。
164
+
165
+
166
+
167
+ 実際にapp.goの110行目付近を見ると、
168
+
169
+ ```
170
+
171
+ }
172
+
173
+ if err := status.Err(); err != nil {
174
+
175
+ // TODO handle error
176
+
177
+ }
178
+
179
+
180
+
181
+ it, err := job.Read(ctx)
182
+
183
+ }
184
+
185
+
186
+
187
+ ```
188
+
189
+
190
+
191
+ 宣言されているitという変数がどこにも使われていないことがわかります。
192
+
193
+ これはGoではエラーになります。
194
+
195
+ Goでは宣言した変数は使用しなければいけません。
196
+
197
+ 使わないなら宣言してはいけない決まりです。
198
+
199
+
200
+
201
+ なので、エラーを消すには、
202
+
203
+
204
+
205
+ ・itという変数を使う
206
+
207
+ ・使わないならエラーの出ているこの行を消す
208
+
209
+
210
+
211
+ のどちらかの対応になるかと思われます。
212
+
213
+
214
+
215
+
216
+
217
+ 補足ですが、こういったエラーは、エディタの機能を使うと、実行前に判明させることができます。
218
+
219
+ たとえばVisual Studio CodeというエディタにGoのプラグインを入れると、
220
+
221
+ 以下のように事前にエラー箇所をハイライトしてくれます。
222
+
223
+
224
+
225
+ ![visual studio code](31f55cb82c421781eb6e916a61ba9376.png)
226
+
227
+
228
+
229
+
230
+
231
+ 興味があれば調べてみてください。

1

osパッケージのimport方法を追記

2019/01/23 06:21

投稿

spre55
spre55

スコア24

test CHANGED
@@ -31,3 +31,97 @@
31
31
  使用しているエディタにGoのプラグインなどを入れると、
32
32
 
33
33
  こういったことに未然に対策できるかもしれません。
34
+
35
+
36
+
37
+ -- 追記(2019/01/21) --
38
+
39
+
40
+
41
+ app.goの中で、すでに他パッケージのimport処理は書かれていると思います。
42
+
43
+ 以下の部分です。
44
+
45
+
46
+
47
+ ```go
48
+
49
+ import (
50
+
51
+ "cloud.google.com/go/bigquery"
52
+
53
+ "cloud.google.com/go/storage"
54
+
55
+ "fmt"
56
+
57
+ "golang.org/x/net/context"
58
+
59
+ "google.golang.org/api/iterator"
60
+
61
+ "google.golang.org/appengine"
62
+
63
+ "google.golang.org/appengine/taskqueue"
64
+
65
+ yaml "gopkg.in/yaml.v2"
66
+
67
+ "io/ioutil"
68
+
69
+ "log"
70
+
71
+ "net/http"
72
+
73
+ "net/url"
74
+
75
+ )
76
+
77
+ ```
78
+
79
+
80
+
81
+ ここにosパッケージを追記します。
82
+
83
+
84
+
85
+ ```go
86
+
87
+ import (
88
+
89
+ "cloud.google.com/go/bigquery"
90
+
91
+ "cloud.google.com/go/storage"
92
+
93
+ "fmt"
94
+
95
+ "golang.org/x/net/context"
96
+
97
+ "google.golang.org/api/iterator"
98
+
99
+ "google.golang.org/appengine"
100
+
101
+ "google.golang.org/appengine/taskqueue"
102
+
103
+ yaml "gopkg.in/yaml.v2"
104
+
105
+ "io/ioutil"
106
+
107
+ "log"
108
+
109
+ "net/http"
110
+
111
+ "net/url"
112
+
113
+ "os"
114
+
115
+ )
116
+
117
+ ```
118
+
119
+
120
+
121
+ osパッケージに関しては以下の公式ドキュメントを参照。
122
+
123
+ https://golang.org/pkg/os/
124
+
125
+
126
+
127
+ 標準パッケージですのでapp.go内への記載だけで大丈夫のはずです。