ここではGo言語のif文の基本について見ていきます。
if文では、条件が成立した時に処理を実行します。
if文
if文は次の形で利用します。
if 条件式 {
処理コード
}
条件式が成立した場合に、つまりtrueの場合に処理コードを実行するという形です。
具体的なコードで見てみましょう。
package main
import "fmt"
func main() {
x := 10
if x > 0 {
fmt.Println("正の数です。")
}
}
変数xに初期値を代入しています。
if文では、xが正の場合という条件を与えています。
この条件が成立する時に、ここではPrintln()で出力しています。
ここではxが10なので条件が成立しているので、次のように出力されます。
正の数です。
このコードは次のようにも書くことができます。
package main
import "fmt"
func main() {
if x := 10; x > 0 {
fmt.Println("正の数です。")
}
}
ifキーワードの後に初期化式を置き、セミコロンに続けて条件式を記述します。波括弧{}のブロック内に処理コードを書いているのは同じです。
実行結果は同じです。
if文とture, false
if文は条件式がtureの場合に処理を行う構文なので、次のように書くこともできます。
import "fmt"
func main() {
if 10 == 10 {
fmt.Println("出力:10")
}
if true {
fmt.Println("出力:true")
}
if false {
fmt.Println("出力:false")
}
if !true {
fmt.Println("出力:!true")
}
if !false {
fmt.Println("出力:!false")
}
}
if文の条件式を並べてみました。
最初の等価の場合以外はture、falseで記述しています。これに否定の「!」を組み合わせています。
これを実行すると次の結果になります。
出力:10
出力:true
出力:!false
条件式の評価がtrueとなるものだけ出力されているのがわかります。
Goの論理値型の演算も合わせて見ておくとよいでしょう。
Pythonコードで書くと…
Pythonでif文のコードを同様な形で書いてみます。
上の2つの例を合わせて書いてみます。
def main():
x = 10
if x > 0:
print("正の数です。")
if 10 == 10:
print("出力:10")
if True:
print("出力:True")
if False:
print("出力:False")
if not True:
print("出力:not True")
if not False:
print("出力:not False")
if __name__ == "__main__":
main()
ほぼGoと同じ書き方と言っていいですね。True, Falseが大文字で始まるのと、否定が「!」ではなく「not」であるだけです。
実行結果は以下のとおり。
正の数です。
出力:10
出力:True
出力:not False
最後に
ここでは、Go言語のif文について基本的な処理を見てきました。
if文に続けて条件式を記述し、波括弧{}に処理コードを書きます。条件式の評価がtrueの場合に処理コードを実行します。
if文の条件式の評価は、論理値型の演算の知識が使えます。
else if, elseブロックを使った複数の分岐処理についてはこちらからどうぞ。