go言語でswitchの処理をコードで動かします。
ifとの違いも比較しましょう。
【基本】
基本的にswitchはif文と同じような動きします。
switch文では処理のないcaseを追加するだけで共通処理が実行されifより簡素に処理ができます。
switch x {
case value1:
// x == value1のときに、実行されるコード
case value2:
// x == value2のときに、実行されるコード
...
default:
// xがどの値にも一致しない場合に実行されるコード
}
【具体例】
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("Goodmorining")
case t.Hour() < 17:
fmt.Println("Goodafternoon")
default:
fmt.Println("Goodevening")
}
}
Goodevening
これは現在時間表す処理です。
t := time.Now()が現在の時間なので例えば18時だとしたら
case t.Hour() < 12:
fmt.Println("Goodmorining")
case t.Hour() < 17:
fmt.Println("Goodafternoon")
はfalseとなります。
それ以外のdefaultになりGoodeveningとなります。
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
if t.Hour() < 12 {
fmt.Println("Goodmorining")
} else if t.Hour() < 17 {
fmt.Println("Goodafternoon")
} else {
fmt.Println("Goodevening")
}
}
Goodevening
同じ処理をifでやりました。
各条件の処理に{}が必要なところが違います
。
if t.Hour() < 12 {
fmt.Println("Goodmorining")
}
【最後に】
ifよりもswitchを使うことでコードをシンプルにして見やすくできます。
簡潔に書きたい時には良いです。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com