Help us understand the problem. What is going on with this article?

Goland使いこなせてない人向け tips 5選

本記事は Fringe81 Advent Calendar 2018の1日目です。

現在私が担当しているUniposというピアボーナスサービスのサーバーサイドではScalaとGoを採用しており、それぞれIntelliJとGolandを使って開発しています。

ただせっかくのIDEにもかかわらずあまり使いこなせてなかったこともあり、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を打ってみましょう。

iferr.gif

一気に展開されますね!

var

ioutil.ReadDirは戻り値が([]os.FileInfo, error)な関数です。
今度は関数の最後で .var としTabを打ってみましょう。
関数の戻り値を変数で受けるコードが展開されました。

var.gif

errに対して先程の reterr を組み合わせることも可能です。

len

Golangでは配列の長さを得るには len(ary) のように書きますが、Scalaでは ary.length のように記述します。
本来はスタイルが異なるわけですが、Golandでは .len が用意されているのでこれを利用すれば同じノリで記述することが可能です。

len.gif

pointer

Golang始めたばかりの頃、ポインタを得るのって & だったっけ? * だったっけ?となる時なかったでしょうか。
そんな方には .pointer (または単に .p)を!

pointer.gif

tips2: Fill structを使う

構造体に値を設定していく時、数が多いものだと何度も定義を見に行く、ということをしていたのですが、とりあえず全項目をデフォルト値で入力してしまう、ということができる機能があります。

alt + Enterで立ち上がるメニューから Fill struct recursively を選んでみましょう。

fill.gif

tips3: Scratch File

ふとした時に、ちょっとしたコードを動かして確認したいときがあります。
そんな時でも別のプロジェクトを起動したりオンラインのplaygroundへ行ってコードを書いたりしなくても実行できる機能があります。

Shiftを2回押して Scratch File というActionを実行することで(動画ではActionタブへ移動していますが、移動せずにAllのままでも可能)新しいmain関数が用意されたファイルを得ることができます。

scratch.gif

tips4: Quick Documentationを使う

プログラミング中にGoDocを確認したい時があります。
そんな時は関数を選んでF1を押すか[View]メニューの[Quick Documentation]を選択することでGoDocの内容が立ち上がります。
Golandから出ることなく確認することができて便利ですね。

また、その中のExampleリンクをクリックするとGoDocで記述されていたサンプルコードが、先程のScratch Fileとして起動します。
もちろん編集することも実行することも可能です。

quick.gif

tips5: 複数行TODOを使う

TODOコメント機能はよく使うのではないでしょうか。
最新の2018.3からはTODOコメントの複数行対応がアナウンスされました。
といっても単に書いただけでは表示されないのですが、インデントすることで2行目・3行目の内容もTODO表示されるようになりました。
これでなんのTODOかを示すために1行に長い文章を打つ必要がなくなりました。

todo.gif

番外編: JetBrains TOOLBOXを使う

コーディング時のtipsではないですが、自分自身知らなかったものを最後に。
自分の場合、IntelliJやGolandなど、使用するものを個別にダウンロードしてきてインストールしていましたが、どうやらそうではなくJetBrains TOOLBOXをインストールし、そのツール上から必要なIDEを選んでインストールするというスタイルを推奨しているようです。

EAP版をインストールして試してみたり、その後で安定版に戻したりすることや、稼働のためのメモリ設定、各IDEのプロジェクトを開くことなどが簡単にできるようになっています。

スクリーンショット 2018-11-30 0.53.02.png

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away