プログラミングをしていると条件によって処理を変えたい時があります。そのような条件分岐で使う構文がif文です。
Golangのif文を書いてみる
そして、Golangにおけるif文の書式は以下のとおりです。シンプルですね。
if 条件式1 {
処理1
} else if 条件式2 {
処理2
} else {
処理3
}
それでは具体的にコードを書いてみます。内容はこの通りです。
- 変数numが1なら、「”This is one”」を出力する
- 変数numが2なら、「”This is two”」を出力する
- それ以外なら、「”This is not one or two”」を出力する
package main
import "fmt"
func main() {
num := 0
if num == 1 {
fmt.Println("This is one")
} else if num == 2 {
fmt.Println("This is two")
} else {
fmt.Println("This is not one or two")
}
}
私はRubyとJSの経験者でもあるのですが、個人的にはJavaScriptのif文と書き方が似ていると思いました。
【JSのif文】
if (条件式1) {
処理1
} else if (条件式2) {
処理2
} else {
処理3
}
【Rubyのif文】
if 条件式1
処理1
elsif 条件式2
処理2
else
処理3
end
Rubyとはそんなに似てないですね。
Goには三項演算子が存在しない?
結論:「はい、存在しません。」
三項演算子とは、if文を一行ですっきり書ける構文です。
例えばJSを例に取るとこんな感じです↓
//普通のif文
if (条件式) {
trueの処理
} else {
falseの処理
}
//三項演算子を使うとこうなる
条件式 ? trueの処理 : falseの処理
このように便利に記述できる方法がGolangには無いそう。
実行速度とかなんとか色々あるようだけど、とりあえずそれがGolangの方針みたい。
なので、面倒かもしれないけどしっかりif文を書きましょう。