ゆるふわ技術日誌

ゆるくふわっと広く浅く。

今日はGolangをやった #30

今日やったこと

Golangに入門した。

はじめてやってみました。(以前サークルでちょっとやったけどほとんど忘れてしまった。)

もしも将来Golang書ける人になったときに初心を振り返りたいので、思ったこと等箇条書きでメモする。

ちなみにやっているのは日本語版A Tour of Go

  • go tool tourで自分の端末上でtourをできるとあるが、brewから入れたGoには入ってなかった。やりたい場合はgo get golang.org/x/tour/gotourらしい。(公式にも書いてたのでおそらく入ってないのが普通なんでしょう。とりあえず僕はWeb上の実行環境で続けることにした)
  • Golangでは大文字から始まるメソッドがpublicなメソッドとして扱われる。
  • 変数の宣言は型がうしろ。きもちわるい
  • 複数の返り値を持てる。素敵。
  • 関数宣言のときにfunc hoge(引数)(x, y int){...}とやると返り値に名前を付けられるらしいが、何に便利なのか僕にはわからない。
  • 変数宣言はvarらしい。JavaScriptのせいでvarって書くのが気持ち悪い。
  • 変数宣言時に初期値を与えるとその型になるので型指定は不要…こういうの便利に見せて地雷ってやつでは…?
  • bool型に初期値を与えないとfalse。これって他の言語どうだったかなぁなんて思った。
  • whileはない。コレは知ってた。
  • 無限ループのときはfor {...}でいける。;;とか書かなくていい。(そんなに無限ループ使わないけど)
  • if文の条件式の前に短いstatementを置ける。これワンライナーとかするときに悪用できそう()
  • Switch with no condition、これ感動した。こんな書き方もあるのか。
  • deferって何に使うのこれ。
  • 配列の宣言は[10]stringとか。var [10]stirngとか或いはarray := [3]string{"hoge", "fuga", "piyo"}。配列の作り方っていつも忘れる。
  • sliceってのがある。a[1:5]とやるとaという配列の1から (5-1)番目 の要素までが返る。これは忘れてるとsハマりそう…。

今日はとりあえずsliceまで。

雑談

完全に私事ですが、6月末からとある会社でプログラマーとして働かせていただけることになりました。(アルバイトです)

圧倒的成長にご期待下さい!