エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

PHPとswiftの『switch』の挙動の違い【91日目】

switchのbreakって邪魔ですよね。

phpjavaのswitch文って、
基本的にbreak使ってcase内の内容だけを実行させるけど、
swiftはbreak要らないんだね!

あとkotlinはwhenって形式だとbreak要らないみたい!

同じ名前でも違う挙動するんだねー

ってことでコード

swift

num = 1;
switch num {
  case 1:
    print("1")
  case 2:
    print("2")
}

php

$num = 1;
switch($num) {
  case 1:
    echo 1;
    break;
  case 2:
    echo 2;
    break;
}

break使わない時のswitchの動きはどうするの?

break使わないように、まっすぐ下におろしたい時は、fallthroughって書くと良いらしい。

swift

num = 1;
switch num {
  case 1:
    print("1")
    fallthrough
  case 2:
    print("2")
    fallthrough
}

php

$num = 1;
switch($num) {
  case 1:
    echo 1;
  case 2:
    echo 2;
}

日記

私が、if, eldeif, elseifって書いていたら、
swift使いの人が、switchで書けば?ってお話してたら始まったお話。

PHPでswitch書く時は、==と同じ曖昧比較なので注意!

こんな感じに、普段使ってるコードってどういう意味なんだろう?ってちゃんと疑問に持つ大切。

最近読書が捗ってていい感じに勉強できてる(・∀・)