A few months ago, I started my journey from PHP to Go on a new app in my company.

Some 3 months after, I posted another Article on DEV talking about my feedbacks on the language.

Now it’s the time to share about the libraries & tools I’ve been using so far. Note that I don’t use any framework nor any ORM. Just the right libraries to do the job.


Libraries

1. Viper

viper

🙋 Purpose: Viper is a full-featured configuration library for production apps
🌠 7,353
spf13/viper

2. Gin Gonic

gin-gonic

🙋 Purpose: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance – up to 40 times faster. If you need smashing performance, get yourself some Gin.
🌠 23,913
gin-gonic/gin

3. Mgo

🙋 Purpose: A MongoDB driver for Go
🌠 1,385
globalsign/mgo

4. Zap

🙋 Purpose: Blazing fast, structured, leveled logging in Go
🌠 5,901
uber-go/zap

5. Go.uuid gofrs/uuid

🙋 Purpose: A safe UUID package originally forked from github.com/satori/go.uuid
🌠 394
gofrs/uuid

6. JWT-Go

🙋 Purpose: Golang implementation of JSON Web Tokens (JWT)
🌠 4,849
dgrijalva/jwt-go

7. Testify

🙋 Purpose: Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend
🌠 6,634
stretchr/testify

8. Go-yaml

🙋 Purpose: YAML support for the Go language
🌠 2,692
go-yaml/yaml


Tools

1. Gomock + mockgen

🙋 Purpose: Gomock is a testing library that allows you to mock your dependencies and to make assertions on them. Mockgen is a CLI tool packaged with gomock to create your mocks.
🌠 2,023
golang/mock

2. Modd

🙋 Purpose: A file watcher allowing you to restart your app, to run your unit tests and much more
🌠 977
cortesi/modd


I hope that you’ll find some of these libs/tools useful for your needs.

Don’t hesitate to propose the ones you find great.

Thank you for reading!