夏だしgolang始めてみました
ご無沙汰してます。
とっしぃです。
一度書くの止まっちゃうともう無限に止まっちゃうんですよねブログ。
その円環の理を破るためにもたまには更新します。
まえがき
最近の業務的には特にネタになるようなものがなく、淡々と改修やらなんやらやってたんですが、 プライベート、というかtwitter界隈でよく目にしていたgolang(GO言語)がなんか良さそうってんで ちょっとやってみっかと思ったのでその話でも。
なんでgolang?
そもそもなんでgolangかっていうとこなんですが、理由は何点か。
- 就職した時から転職するまではずっとjavaだったけど最近はphpとjavascript、たまにbashくらいしか触ってなくて、もっかい静的な言語やりたいと思った
- ちょっとしたサービス作りたくて、バックエンド・フロントエンドと考えたらバックエンドはAPIサーバ、フロントエンドはjsでのSPAが理想型(個人的には)だなーと思った
- APIサーバだったらViewとか要らなくて、CakePHPやらLaravelやら、RoRやらDjangoやら、Expressやらは要らない、つまりphpとかrubyとかpythonじゃなくていい
- だったら静的言語にしよか
- でも今更Javaもなー。記述量は多かったしモダンさはないよね。仕事ならともかく趣味なら趣味に走ろう
- js界隈、python界隈の人がgolanggolang言ってて気にはなっていた
- 同じく名前よく聞いていたのはRustだけど、これはホントに文献なくて困った
- んじゃもうgolangかなぁ
てな感じ。
調べてたらあのカヤックさんもgolang推進派ぽくて、これは今後やっといて損はないのかなとも。
golangてどんな言語やねん
ものすげーざっくりと、
- 静的型付け言語
- C系言語、Python辺りに影響を受けたらしい Go (プログラミング言語) - Wikipedia
- セミコロン要らない
- スライスっていう便利な配列みたいなのがある
- ループはforだけ
- switchで式が使える
- switchでbreakいらない
- runeなんていう厨二心をくすぐる型がある(int32と同じらしい)
- 例外(Exception)がない
- 構造体(struct)がある
- 型定義ができる(type)
- 継承がない
- interfaceはある
- 変数定義と代入を同時にやる:=って演算子がある
- 並列処理が得意らしい
- goルーチンてのがある
とりあえず何すりゃいいんだろう
まずはここと
ここ見ながら、
この演習やればよさそう
あとWeb系やるなら
とか
Atom(エディタ)の設定
とかって感じすかね。
今後
サービスの進捗とかgolangの発見とかあったらまた都度書いていきます。