Open3

Goのプロジェクトでよく使うライブラリ

シロシロ

ホットリロード

https://github.com/cosmtrek/air

環境変数

https://github.com/caarlos0/env

モック

https://github.com/matryer/moq

ロギング

  • importする際のパッケージ名は、go.uber.org/zap

https://github.com/uber-go/zap

Google Cloudを使うならzapdriver

https://github.com/blendle/zapdriver

DI(Dependency Injection)コンテナ

  • importする際のパッケージ名は、go.uber.org/fx

https://github.com/uber-go/fx

https://uber-go.github.io/fx/

ORM

https://github.com/uptrace/bun

https://bun.uptrace.dev/

CSV

https://github.com/gocarina/gocsv

BOM

BOM削除

https://github.com/spkg/bom

デバッグ

https://github.com/k0kubun/pp

https://github.com/Code-Hex/dd

Web

echo

https://github.com/labstack/echo

https://echo.labstack.com/

gin

https://github.com/gin-gonic/gin

https://gin-gonic.com/ja/

GraphQL

サーバー

https://github.com/99designs/gqlgen

https://gqlgen.com/

データローダー

N+1回避
graph-gophers/dataloader/v7でジェネリクス対応

https://github.com/graph-gophers/dataloader

クライアント

https://github.com/hasura/go-graphql-client

Lodashスタイル

https://github.com/samber/lo

バリデーター

https://github.com/go-playground/validator

https://github.com/go-ozzo/ozzo-validation

JSON関連

json内の一部データを手軽に取り出す際に利用

https://github.com/tidwall/gjson

シロシロ

未検証/未確認のライブラリ

SQL関連

https://github.com/sqlc-dev/sqlc

時間関連

https://github.com/golang-module/carbon

https://github.com/jinzhu/now

タイムゾーン関連

ddと同じ作者

https://github.com/Code-Hex/synchro

https://zenn.dev/codehex/articles/f527d66b949b85

構造体の型変換/コピー処理

https://github.com/jinzhu/copier

Humanize

https://github.com/dustin/go-humanize

Feature Flags

https://github.com/open-feature/go-sdk

https://openfeature.dev/docs/tutorials/getting-started/go

別途フィーチャーフラグマネジメントシステムが必要