【Go言語】スコープ…エイm? な If - その2
え~、Go です。
前回の続きです。
というわけで、If の使い方その2ってことで進めていきます。
今回のお題は「If with a short statement」と「If and else」
なんとなく訳してみると、「If と 短いステートメント(手続き)」、それと「If とelse」といった感じでしょうかね?
前回進めた If から、もう少し踏み込んだ内容が書かれているようです。
そして今回の進めるページのURLはこちらね。(´・ω・)つhttps://go-tour-jp.appspot.com/flowcontrol/6
![A Tour of Go - If with a short statement のページ](https://www.ushiblo.com/images/2018/11/1b9bd531b8ec754d8f983b8612b45732.jpg)
もういっこはこちら。(´・ω・)つhttps://go-tour-jp.appspot.com/flowcontrol/7
![A Tour of Go - If and else のページ](https://www.ushiblo.com/images/2018/11/977cfe390e4b8fe019d0b574007050b3.jpg)
じゃ~中身を見ていきまーす。
内容を見ていく
今回は2ページ分まとめて進めますが、どちらもそれほど難しいことは書いてないようです。
ポイントを抜き出してみると…
- If の条件式の前に簡単なステートメントが書ける
- そのステートメントで宣言された変数は If のスコープ内で有効
ですね。
それでは順番に詳しく見ていきます。
If の条件の前に簡単なステートメントが書ける
前回やりましたが、If を書くときには<条件式> を書く必要があります。
Go言語では、この<条件式>の前に簡単なステートメントを追記できるようです。
![ifとステートメント](https://www.ushiblo.com/images/2018/11/e93ce565a65c0d0a47f534f2c6738c58.jpg)
実際にプログラムで書いてみると…
と、こんな感じになります。
そして Run してみると気づくと思いますが、If に書いたステートメントは <条件式> の真偽に関わらず実行されるようですね。
そのステートメントで宣言された変数は If のスコープ内で有効
続いて If のステートメント部分で変数を宣言したときのお話ですね。
結論から言っちゃえば、ステートメント部分で宣言された変数は If のスコープ内(中括弧内)のみで有効なようです。
![ifとステートメントと変数](https://www.ushiblo.com/images/2018/11/0244effdccc4afd71249bb3d55609f68.jpg)
実際に試してみます。
まずは If のスコープ内で変数を使ってみます。
else の方も含めて変数を使うことができました。
さて、今度は if のスコープ外で使ってみます。
Run するとわかりますがエラーが表示されます。
prog.go:14:14: undefined: v
これは、変数 v が undefined(未定義)です、って言われています。
というわけで、if のスコープ外では使えませんでした。
サンプルプログラムについて
ここまでに使ったことのないファンクションなどがあり、ポイントがブレそうなので触れないことにします。
とは言いつつも、完全にスルーするのもアレなので、、、コメントを差し込んだものくらいは載せておきます。
If with a short statement のサンプルプログラム
If and else のサンプルプログラム
今回のまとめ
前回に引き続いての If。
今回やったことをまとめてみますと…
- ステートメントを一緒に書く場合は、if <ステートメント> : <条件式> { … }、と書くんです
- Ifのステートメントで定義された変数は、If のスコープでしか使えないんです
こんなところでしょうか。
If については今回で終わりなようで、次回は…実習?的な内容みたいです。
というわけで今回はここまで。
それじゃまた次回~。٩(๑´3`๑)۶
ディスカッション
コメント一覧
まだ、コメントがありません