🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

1回答

682閲覧

ifの中のscope内で変数の代入ができない

tuioku

総合スコア42

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2021/03/29 07:52

Golangで変数がtrueだったらpostのリクエスト処理を実行し、その変数の中でifの外のscopeの変数に対して代入したいのですが、
できないです。
「res, err := requests.Post(targetUrlForAccessToken, data)」を変数がtrueだったら実行するというような内容にしたいです。

Go

1 2 if true { 3 res, err := requests.Post(targetUrlForAccessToken, data) 4 → resはUnused variable 'res'が出てしまいます 5 } 6 7 //res, err := requests.Post(targetUrlForAccessToken, data) 8 → このresならres.Content()でUnresolved reference 'Content'にならない 9 10 if err != nil { 11 log.Fatal(err) 12 } 13 14 // Get Bearer(access token) 15 var r Response 16 if err := json.Unmarshal(res.Content(), &r); err != nil { 17 log.Fatal(err) 18 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

前後が省略されているので見えている範囲での解決方法は以下の2つかな。

  1. 例示のコードは全部ifブロックの中に入れてしまう。
  2. ifの条件がtrueではない場合にアーリーリターンする。

追記:
res, err := ...のあとは必ずエラーチェックをしましょう。エラーチェックの前にresに触れてはいけません。

投稿2021/03/29 08:13

編集2021/03/29 08:15
nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tuioku

2021/03/29 08:38

なるほど。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問