go言語入門学習サイト

go言語初心者のために基礎から解説します。

go言語のswitchの処理を時間帯を表すプログラムで見よう

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を使うことでコードをシンプルにして見やすくできます。
簡潔に書きたい時には良いです。





TechAcademy [テックアカデミー]


【アイデミー】AIを学んで一発逆転のキャリアチェンジ!



取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com