1.18 is released

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • 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...)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 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

    Discontinued 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