本記事は Fringe81 Advent Calendar 2018の1日目です。
※追記: 続・Goland使いこなせてない人向け tips 5選を書きました。
現在私が担当しているUniposというピアボーナスサービスのサーバーサイドではScalaとGoを採用しており、それぞれIntelliJとGolandを使って開発しています。
そこで、2018年11月20日に開催されたJetBrains Night Tokyo 2018に参加してきました。
主にGolandについて仕入れたtipsのうち日々の開発で定着してきたものを5つほど紹介したいと思います。
tips1: Postfix Completionを使う
reterr
ioutil.WriteFileは戻り値がerrorな関数です。
ということは、
if err := ioutil.WriteFile(...); err != nil {
return err
}
というお決まりのコードを書くことになると思いますが、今回はWriteFile関数の最後で .reterr
としTabを打ってみましょう。
一気に展開されますね!
var
ioutil.ReadDirは戻り値が([]os.FileInfo, error)な関数です。
今度は関数の最後で .var
としTabを打ってみましょう。
関数の戻り値を変数で受けるコードが展開されました。
errに対して先程の reterr
を組み合わせることも可能です。
len
Golangでは配列の長さを得るには len(ary)
のように書きますが、Scalaでは ary.length
のように記述します。
本来はスタイルが異なるわけですが、Golandでは .len
が用意されているのでこれを利用すれば同じノリで記述することが可能です。
pointer
Golang始めたばかりの頃、ポインタを得るのって &
だったっけ? *
だったっけ?となる時なかったでしょうか。
そんな方には .pointer
(または単に .p
)を!
tips2: Fill structを使う
構造体に値を設定していく時、数が多いものだと何度も定義を見に行く、ということをしていたのですが、とりあえず全項目をデフォルト値で入力してしまう、ということができる機能があります。
alt + Enterで立ち上がるメニューから Fill struct recursively
を選んでみましょう。
tips3: Scratch File
ふとした時に、ちょっとしたコードを動かして確認したいときがあります。
そんな時でも別のプロジェクトを起動したりオンラインのplaygroundへ行ってコードを書いたりしなくても実行できる機能があります。
Shiftを2回押して Scratch File
というActionを実行することで(動画ではActionタブへ移動していますが、移動せずにAllのままでも可能)新しいmain関数が用意されたファイルを得ることができます。
tips4: Quick Documentationを使う
プログラミング中にGoDocを確認したい時があります。
そんな時は関数を選んでF1を押すか[View]メニューの[Quick Documentation]を選択することでGoDocの内容が立ち上がります。
Golandから出ることなく確認することができて便利ですね。
また、その中のExampleリンクをクリックするとGoDocで記述されていたサンプルコードが、先程のScratch Fileとして起動します。
もちろん編集することも実行することも可能です。
tips5: 複数行TODOを使う
TODOコメント機能はよく使うのではないでしょうか。
最新の2018.3からはTODOコメントの複数行対応がアナウンスされました。
といっても単に書いただけでは表示されないのですが、インデントすることで2行目・3行目の内容もTODO表示されるようになりました。
これでなんのTODOかを示すために1行に長い文章を打つ必要がなくなりました。
番外編: JetBrains TOOLBOXを使う
コーディング時のtipsではないですが、番外編としてGolandのインストール方法について。
Golandをインストールするには、JetBrains TOOLBOXをインストールし、そのツール上から必要なIDEを選んでインストールするというスタイルを推奨しているようです。
EAP版をインストールして試してみたり、その後で安定版に戻したりすることや、稼働のためのメモリ設定、各IDEのプロジェクトを開くことなどが簡単にできるようになっています。