PHPerが学ぶgo tour #2 ~制御構文~

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは、エンジニアの東です。

PHPerが学ぶgo tour #1 ~基本~に引き続き、

PHPerがTour of Goで学んでいくときのためにPHPとGoでの書き方の比較をしていきたいと思います。

制御構文

今回はTour of Goの制御構文から(https://go-tour-jp.appspot.com/flowcontrol/1)紹介していきます。

制御構文は制御文に括弧がいらなくて戸惑うかと思いいますが、それくらいであとは基本的にシンプルです。

for

いわゆる普通のfor文です。foreach文についてはまた別記事で紹介していきます。

(引用: https://go-tour-jp.appspot.com/flowcontrol/1)


GoにおけるWhile

(引用: https://go-tour-jp.appspot.com/flowcontrol/3)


if

(引用: https://go-tour-jp.appspot.com/flowcontrol/5)


If with a short statement

(引用: https://go-tour-jp.appspot.com/flowcontrol/6)


if else

評価文のための簡単なステートメントを評価文に記述でき、
if文のためだけの変数をいつまでも保持しつづけなくて済みます。

(引用: https://go-tour-jp.appspot.com/flowcontrol/7)


switch

switchはGo言語はBreakとかかなくてもBreakされるエコな書き方です!

Breakしてほしくない場合だけ、fallthroughと書いてあげればよいのです。

(引用: https://go-tour-jp.appspot.com/flowcontrol/9)


 defer

Goの非常に便利なのがDeferです。

「ファイルオープンしたので、後でクローズしてねー」

と、予約するように記述ができるのと、スタック(Last-In First-Out)で実行されるため、入れ子でオープンクローズしている場合も安心です。

(引用: https://go-tour-jp.appspot.com/flowcontrol/12)

これくらい簡単なものだとありがたみがわかりづらいですが、関数でネストしていったり、行数が多くなってクローズするの忘れてた!っていうのが防げます。

後ですることを宣言することのありがたみは複雑なシステムになればなるほど実感するのかもしれません!


いかがだったでしょうか!

今回はGoの制御構文についてPHPを絡めて紹介しました。
次回はポインタを紹介したいと思います。

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。