Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 Go Code Analysis Projects
Fast linters Runner for GoProject mention: Show HN: Error return traces for Go, inspired by Zig | news.ycombinator.com | 2023-11-29
The "standard linter" in Go is https://golangci-lint.run/ , which includes  the absolutely-vital errcheck which will do that for you.
For an Advent of Code challenge you may want to turn off a lot of other things, since the linter is broadly tuned for production, public code by default and you're creating burner code and don't care whether or not you have godoc comments for your functions, for instance. But I suggest using golangci-lint rather than errcheck directly because there's some other things you may find useful, like ineffassign, exportloopref, etc.
[mirror] Go Tools (by golang)Project mention: How to find all methods which return struct "Foo" (vscode or cli) | /r/golang | 2023-06-12
Just a guess, but it might be somewhere in gopls https://github.com/golang/tools/tree/master/gopls/doc On this page https://langserver.org/ it says it should support "finding references"
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golintProject mention: revive v1.3.4 is now available | /r/golang | 2023-09-18
The v1.3.4 of revive, the fast, configurable, extensible, flexible, and beautiful linter for Go, is available.
errcheck checks that you checked errors.Project mention: Linter to check for errors ignored with _ | /r/golang | 2023-11-05
In our codebase I noticed a few cases where people ignored errors returned from functions by assigning them to _, ie result, _ := foo(). The errcheck linter doesn't seem to catch this, does anyone know of a linter that does?
PlantUML Class Diagram Generator for golang projects
PHP parser written in Go (by z7zmey)
Clean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects.
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
A golang formatter that fixes long lines
Find outdated dependencies of your Go projects. go-mod-outdated provides a table view of the go list -u -m -json all command which lists all dependencies of a Go project and their available minor and patch updates. It also provides a way to filter indirect dependencies and dependencies without updates.
A gofmt/goimports-like tool for Go programmers that fills in Go return statements with zero values to match the func return types
Chronos - A static race detector for the go language (by amit-davidson)
A static code analyser for annotated TODO comments
Remove unnecessary type conversions from Go source
a tool for code clone detection
Manage your repository's TODOs, tickets and checklists as config in your codebase.
Analyzer: checks whether HTTP response body is closed and a re-use of TCP connection is not blocked.Project mention: TIL: Go Response Body MUST be closed, even if you don’t read it - Manish R Jain | /r/golang | 2023-05-12
A command line tool that shows the status of Go repositories.
GoCover.io offers the code coverage of any golang package as a service.Project mention: GitHub code coverage badge | /r/golang | 2023-01-27
That was one of the options I considered. To create something reusable by others, though, I think that requires creating the Gist, configuring the Gist's URL and creating/configuring an authentication token. This OTOH just requires enabling the Wiki.
apicompat checks recent changes to a Go project for backwards incompatible changes
checkstyle for go (by qiniu)
Run linters from Go code - (by surullabs)
Converts golang AST to JSON and JSON to AST
A Go package to automatically validate fields with tags (by mccoyst)
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Code Analysis related posts
Show HN: Error return traces for Go, inspired by Zig
6 projects | news.ycombinator.com | 29 Nov 2023
Hacking Go to give it sum types
2 projects | /r/golang | 11 Nov 2023
Linter to check for errors ignored with _
1 project | /r/golang | 5 Nov 2023
Golang panics in libraries
5 projects | dev.to | 1 Aug 2023
9 Golang Name Conventions Gophers should follow!
1 project | /r/golang | 4 Jul 2023
Is it a bad convention to overwrite err variable?
2 projects | /r/golang | 28 Jun 2023
How to find all methods which return struct "Foo" (vscode or cli)
2 projects | /r/golang | 12 Jun 2023
A note from our sponsor - InfluxDB
www.influxdata.com | 10 Dec 2023
What are some of the best open-source Code Analysis projects in Go? This list will help you: