if-elseでの条件分岐
条件分岐はif文を使います。if文を使ってfizzbuzzプログラムを書いてみます。
package main
import "fmt"
func main() {
for i := 0; i < 100; i++ {
if i % 3 == 0 && i % 5 == 0 {
fmt.Println("fizzbuzz")
} else if i % 3 == 0 {
fmt.Println("fizz")
} else if i % 5 == 0 {
fmt.Println("buzz")
} else {
fmt.Println(i)
}
}
}
switch-caseでの条件分岐
ifの他にswitch-caseも条件分岐のために使えます。
package main
import "fmt"
func main() {
for i := 0; i < 100; i++ {
switch i % 2 {
case 0:
fmt.Println("even")
case 1:
fmt.Println("odd")
}
}
上のコードでは i % 2
の値に一致するcase句が実行されます。i % 2
が0であれば "even"、1ならば "odd" と表示されます。
switchの後の式は省略することも可能で、その時は true
が入っていると見なされます。それを利用してまたfizzbuzzプログラムを書いてみます。
package main
import "fmt"
func main() {
for i := 0; i < 100; i++ {
switch {
case i % 3 == 0 && i % 5 == 0:
fmt.Println("fizzbuzz")
case i % 3 == 0:
fmt.Println("fizz")
case i % 5 == 0:
fmt.Println("buzz")
default:
fmt.Println(i)
}
}
}