LoginSignup
36
18

More than 5 years have passed since last update.

【随時更新】Go言語(golang)の実用的なパッケージと㊙情報 2017/12/17

Last updated at Posted at 2017-12-16

【随時更新】Go言語の実用的パッケージと㊙情報

Ateam Hikkoshi Samurai Inc. Advent Calendar 2017 17日目です。
本日はエイチーム引越し侍の新卒1年目、Webエンジニアの@nrainieroが担当します。

Go言語の初心者で
いろんな情報を集めているので
ここにまとめていきたいと思います。

随時更新なので、
Go言語に興味のある方は、いいね、ストックをしておくと良いと思います!:relaxed:

参考になる記事・サイト

実用的なパッケージ一覧

※ ★はgithubのスターの数です(2017/12/17時点)

パッケージ依存管理

node.jsで言うpackage.jsonみたいな役割のもの

◆dep ★6351star

Glide から dep に移行せよ
とあるのでこれを使っておけば大丈夫だと思います

◆glide ★5865star

一世代前の依存管理ツール
今から管理するならdepを使いましょう

webフレームワーク

◆Gin ★13552star

https://github.com/gin-gonic/gin
フルスタックのフレームワークで
Martiniの40倍の速度らしいです笑

◆beego ★13339star

https://github.com/astaxie/beego
フルスタックのフレームワークで
ORMなどもサポートしています。

◆Martini ★9816star

https://github.com/go-martini/martini
お酒の名前のフレームワーク
公式の日本語のドキュメントがあります!

◆Revel ★9187star

https://github.com/revel/revel
MVCのフルスタックフレームワーク
Railsみたいなもんかな。
コードを編集した際に自動コンパイルしてくれたり、devモードがあったりと開発しやすそう。

◆Echo ★8914star

https://github.com/labstack/echo
軽量で高速なwebフレームワーク
カスタマイズしやすい

◆iris ★8524star

https://github.com/kataras/iris
最速のフレームワークと謳っています!!
ドキュメントが充実しているのでおすすめです。

◆Goji ★3351star

https://github.com/zenazn/goji
よく知らない。。

◆goa ★2474star

https://github.com/goadesign/goa
個人的におすすめ★
APIフレームワークでバリデーションなどに気を使わず
ロジックだけに専念できるようになっている。
swaggerUIなどと連携するとすごく良い!!
だが、クセが強い。。

httpクライアント

◆http

https://golang.org/pkg/net/http/
標準パッケージ
HTTPクライアントの処理が簡単に書けます!

websocket

◆websocket

https://godoc.org/golang.org/x/net/websocket
標準パッケージ

◆websocket ★4702star

https://github.com/gorilla/websocket
標準と名前がかぶってるが
外部パッケージ

フォーム系

◆binding ★630star

https://github.com/mholt/binding
バリデーションに使える

DB

◆mysql ★3355star

https://github.com/go-sql-driver/mysql
mysqlのドライバー

◆pq ★3355star

https://github.com/lib/pq
PostgreSQLのドライバー

◆redigo ★3816star

https://github.com/garyburd/redigo
redisも扱えます!

◆migrate ★1820star

https://github.com/mattes/migrate
DBマイグレーションツール
Go project以外にも使えます!

◆goose

https://bitbucket.org/liamstask/goose/
DBマイグレーションツール

◆xo ★1403star

https://github.com/xo/xo
DBのスキーマーをGoの自動でstructにしてくれる便利なもの

サーバー

◆golang-stats-api-handler ★155star

https://github.com/fukata/golang-stats-api-handler
サーバーのシステム情報を取得できる
ZabbixやMunin用のプラグインもある

設定ファイル読み書き

◆encoding/json

https://golang.org/pkg/encoding/json/
jsonファイル

◆toml ★1736star

https://github.com/BurntSushi/toml
tomlファイル

◆yaml ★1727star

https://github.com/go-yaml/yaml
yamlファイル

◆xml

https://golang.org/pkg/encoding/xml/
xmlファイル

◆ini ★759star

https://github.com/go-ini/ini
iniファイル

ロギング

◆logrus ★6144star

https://github.com/sirupsen/logrus
ログをいい感じに出してくれる
json形式でも出してくれる。

クエリビルダー

◆squirrel ★1317star

https://github.com/Masterminds/squirrel
SQLジェネレーター

ORM - オブジェクト関係マッピング

goの構造体とdbを紐付けてくれるものです。

◆gorm ★7320star

GoのORMで迷ったらこれを使っておけば良さそうです!
githubのstar数で見ても1強!!

◆gorp ★2629star

https://github.com/go-gorp/gorp
SELCT文で生SQLを書かないといけないらしい。。。

◆xorm ★2629star

https://github.com/go-xorm/xorm
使ってる人がちらほらいるイメージがあります

◆genmai ★146star

https://github.com/naoina/genmai
玄米。。。

◆awesome-go ★26078star

https://github.com/avelino/awesome-go
パッケージ一覧リスト!

最後に

Ateam Hikkoshi Samurai Inc. Advent Calendar 2017 17日目いかがでしたでしょうか。
間違ってたり、追加したほうがいい情報があれば教えてくれと幸いです!
明日はエイチーム引越し侍@hironeyさんがLINE@とGoogleHomeについて書いてくれます。
お楽しみに。

追伸

株式会社エイチーム引越し侍では、一緒にサイト改善をしてくれるWebエンジニアを募集しています。エイチームグループのエンジニアとして働きたい!という方は是非、以下のリンクから応募してください。
皆様からのご応募、お待ちしております!!

エイチームグループ採用サイト(Web開発エンジニア職)

36
18
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
36
18