120
79

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Fringe81Advent Calendar 2018

Day 1

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

Last updated at Posted at 2018-11-30

本記事は 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を打ってみましょう。

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ではないですが、番外編としてGolandのインストール方法について。
Golandをインストールするには、JetBrains TOOLBOXをインストールし、そのツール上から必要なIDEを選んでインストールするというスタイルを推奨しているようです。

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
120
79

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?