Some Go(lang) tips

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • GitHub repo zerolog

    Zero Allocation JSON Logger

    What to use I prefer zerolog, but zap isn't bad either. Both boast zero-allocation, which is what you want for a task that should have the smallest possible impact on your application.

  • GitHub repo zap

    Blazing fast, structured, leveled logging in Go.

    What to use I prefer zerolog, but zap isn't bad either. Both boast zero-allocation, which is what you want for a task that should have the smallest possible impact on your application.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo easyjson

    Fast JSON serializer for golang.

    What to use Easyjson is about the top of the pack and it's straightforward. The downside of efficient tools is that they use code generation to create the code required to turn your structs into json to minimise allocations. This is a manual build step which is annoying. Interestingly json-iterator also uses reflection but it's significantly faster. I suspect black magic.

  • GitHub repo jsoniter

    A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)

    What to use Easyjson is about the top of the pack and it's straightforward. The downside of efficient tools is that they use code generation to create the code required to turn your structs into json to minimise allocations. This is a manual build step which is annoying. Interestingly json-iterator also uses reflection but it's significantly faster. I suspect black magic.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts