PHPerが学ぶgo tour #1 ~基本~

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

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

今回は「PHPerが学ぶGo Tour」という題目通り、
Tour of GoをPHP使いが学ぶ上での言語の違いを書いていきたいと思います。

なぜこの記事を書くに至ったか。それは弊社では言語にGoを採用しておりますが、
慣れ親しんだ言語とは別に新しい言語を扱うのは、非常に戸惑うことが多いと思います。

筆者自身もよく、GoとPHPを行き来するため、PHPでセミコロン忘れやGoで変数定義で$piyoと書いてしまい、
「動かない…なんでー…」っと、小恥ずかしいミスをしまったこともあります。

なかなか新しい言語を使うのにはその言語をなれるまで結構大変です。

また、Tour of Go は他言語を学んでいる前提でのサイトです。
しかし、Go言語は他言語と勝手が違うことが多く、導入に戸惑う点も多々あると思います。

まず、言語に触れてみるのが大事だと思いますのでざっくり大雑把にTour of GoのソースをPHPで書いたらこんな感じですって紹介していきたいと思います。

※ Goに関する説明は本家サイトであるTour of Goにありますので、そちらをすすめながら、同時にこちらの記事をみていただければと思います。
※ 本記事は、導入のしやすさを重視するため、正しくは異なるような、誤解を与える表現が含まれていることがございます。ご了承いただければ幸いです。

Hello World!

定番のHello World!
この段階では、おまじないな書き方ですが、それはGo tourが後々説明してくれています。

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

1.phpのHello world!

2.php goに似せてみた場合

Packages

パッケージとimport

パッケージは、他言語でいうところの名前空間に近いです。

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

1.phpで書く場合

2.php goに似せてみた場合

関数

関数

引数の型が後ろにつくのは独特ですね。

(引用: https://go-tour-jp.appspot.com/basics/4)

2値以上返却する関数

2値以上返却するのは既存コードを書きかえるときにシンプルにしやすいですね。

(引用: https://go-tour-jp.appspot.com/basics/4)

PHPの場合2値以上返却できないので下記な感じしょうか。

基本の型(ゼロ値)

ゼロ値はGo特有なのでPHPでどのように記述するかはないですが、PHPでは基本的に全て初期化して使っていると思えば良いかと思います。

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


いかがだったでしょうか

今回はGoの基礎をPHPに絡めて紹介しました。
次回は制御構文を紹介したいと思います。

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

SNSでもご購読できます。