目次
if文とは?
if文は、条件に基づいて処理を分岐させる構文です。
Go言語におけるif文は他言語とよく似ているので、プログラミング経験のある方には理解しやすいかと思います。
基本的なif文
Go言語のif文は他の言語と似ていますが、いくつか特徴があります。
if文の特徴
- 条件式の周りに括弧
()
は不要 - 条件式は必ずブール値(true/false)を返す必要がある
■形式
if 条件式 {
// 条件が真の場合に実行される処理
}
■具体例
age := 22
if age >= 20 {
fmt.Println("成人")
}
if-else文
条件が成立しない場合の処理を指定するには、else句を使います。
■形式
if 条件式 {
// 条件が真の場合の処理
} else {
// 条件が偽の場合の処理
}
■具体例
age := 18
if age >= 20 {
fmt.Println("成人")
} else {
fmt.Println("未成年") // 「未成年」と出力される
}
else if
複数の条件による分岐が必要な場合は、else if を使います。
■形式
if 条件式 {
// 条件が真の場合の処理
} else if {
// 条件が真の場合の処理
}
■具体例
age := 18
if age >= 20 {
fmt.Println("成人")
} else if age <= 20 {
fmt.Println("未成年") // 「未成年」と出力される
}
初期化ステートメント
Go言語のif文には、条件式の前に初期化ステートメントを記述できる特徴があります.
この構文を使うと、if文のスコープ内でのみ使用する変数を宣言できます。
■形式
if 初期化ステートメント; 条件式 {
// 処理
}
■具体例
if value := 10; value > 5 {
fmt.Println("valueは5より大きいです:", value)
}
// ここでvalueは使用できない
この機能は特にエラー処理で役立ちます。
package main
import (
"fmt"
"strconv"
)
func main() {
if num, err := strconv.Atoi("123"); err == nil {
fmt.Println("変換成功:", num)
} else {
fmt.Println("変換失敗:", err)
}
}
コメント