【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
もういっこはこちら。(´・ω・)つhttps://go-tour-jp.appspot.com/flowcontrol/7
じゃ~中身を見ていきまーす。
内容を見ていく
今回は2ページ分まとめて進めますが、どちらもそれほど難しいことは書いてないようです。
ポイントを抜き出してみると…
- If の条件式の前に簡単なステートメントが書ける
- そのステートメントで宣言された変数は If のスコープ内で有効
ですね。
それでは順番に詳しく見ていきます。
If の条件の前に簡単なステートメントが書ける
前回やりましたが、If を書くときには<条件式> を書く必要があります。
Go言語では、この<条件式>の前に簡単なステートメントを追記できるようです。
実際にプログラムで書いてみると…
と、こんな感じになります。
そして Run してみると気づくと思いますが、If に書いたステートメントは <条件式> の真偽に関わらず実行されるようですね。
そのステートメントで宣言された変数は If のスコープ内で有効
続いて If のステートメント部分で変数を宣言したときのお話ですね。
結論から言っちゃえば、ステートメント部分で宣言された変数は If のスコープ内(中括弧内)のみで有効なようです。
実際に試してみます。
まずは 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`๑)۶
ディスカッション
コメント一覧
まだ、コメントがありません