web-technical-blog

web開発に関する技術メモ

GoビギナーズLT大会! 「最近、Go言語始めました」の会 #4

GoビギナーズLT大会! 「最近、Go言語始めました」の会 #4

ハッシュタグ:#golangjp

開催日:2017.10.24(火) 19:00 〜21:00

会場:株式会社メルカリ

URL:https://go-beginners.connpass.com/event/64866/


イベント概要

  • Go言語入門者のLT大会&懇親会
  • 最近Goにハマってきた方、これからGo言語を深めていこうという方
  • 「Go言語のここがよかった」「ここが好きになった」「ここがひっかかりやすい」など、Go言語を始めるにあたっての知識を共有する

よく聞かれる3つの質問

  • 1.GOPATHはどこに設定したらいい?
  • 2.エディタは何を使う?
  • 3.パッケージ管理とか何を使う?

1.GOPATHはどこに設定したらいい?

Go1.8からは$HOME/goを使うように最初から設定されている

$ go env GOPATH
/Users/121799/go
  • 明示的に設定した方がわかりやすい
$ export GOPATH=$HOME/go
$ echo $GOPATH
/Users/121799/go

2.パッケージ管理には何を使う

今はglideが主流みたい

  • npm,gemみたいな動き
  • glideを使うときはGOPTAHに注意! GOPATH/src配下にプロジェクトがないと動かない

公式ツール、dep

  • Go1.8以降で使用できる
  • まだ開発途上。今後大きな変更があるかも

GOPATH/src配下で作業するのが嫌だったらdirenvを使うといい


「Glide」のメリット

1.YAMLで書ける

  • シンプルで強力なYAML記法
  • Glideは、依存関係の定義ファイルをYAMLで記述
  • GodepなどはJSONが採用されている
  • RubyのGemfileにインスパイアされたGomの「Gomfile」フォーマットなどもある

    2.必要最低限の機能がシンプルにまとまっている

  • Glideは必要最低限の機能だけをごくシンプルに提供している

    参考URL


3.エディタは何を使う?

Vim

  • vim-goが強力
  • 著名なGopherが使用している

GoGland

  • GoのためのIDE。現在EAP(β版)
  • メソッドジャンプが強力

Visual Studio Code


3.エディタは何を使う?

保存時に自動でimport,fmtする設定はMust

  • メソッドジャンプ、デバッガー、自動補完を求めるなら、GoGlandかVisual Studio Code
    • vim-goは自動補完の設定は大変...

番外:Goの何がそんなに好きなんですか

低レイヤーを学べるところ

答えがあるので戦争が起きにくいところ

  • コーディングルール、フォーマット

Goコミュニティは優しい


資料