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

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

More than 1 year has passed since last update.

【随時更新】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

http://jinzhu.github.io/gorm

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開発エンジニア職)

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