1.18 is released

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/golang

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Truly a developer’s best friend
  • Zigi - The context switching struggle is real
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • golangci-lint

    Fast linters Runner for Go

    Has anyone figured out a way to make golangci-lint play nice? I was very excited to update our project but seem to be getting the same issue as this one https://github.com/golangci/golangci-lint/issues/2414

  • lo

    💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • server

    You still end up with the same problem, though, just in a container instead of directly on your computer's filesystem. The root issue is that if you are working on two modules where one depends on the other, say github.com/yourname/server and github.com/yourname/client, the compiler (and gopls) is checking your function calls, etc. against the version in the repository, not the version you have on your computer that you just modified. This means that you would have to make a change, commit it to the repo, then do go mod download to get the changes, and then check to see if they work.

  • client

    You still end up with the same problem, though, just in a container instead of directly on your computer's filesystem. The root issue is that if you are working on two modules where one depends on the other, say github.com/yourname/server and github.com/yourname/client, the compiler (and gopls) is checking your function calls, etc. against the version in the repository, not the version you have on your computer that you just modified. This means that you would have to make a change, commit it to the repo, then do go mod download to get the changes, and then check to see if they work.

  • go-iterator

    Go 1.18 generics iterator experiment

    I already played around a bit wit the beta a while back and made an iterator library to get to know this new language. It's here for anyone interested: https://github.com/polyfloyd/go-iterator

  • exhaustive

    Check exhaustiveness of switch statements of enum-like constants in Go source code.

    For an exhaustive linter, were you referring to this? It looks pretty nice. If it's possible to check this with static analysis, is it something that could be in the compiler itself in the future?

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