An overview of tools that will help improve your Go code
All-in-one
- golangci-lint - Bundle of
gofmt,golint,govetand many other tools that shares work between the different linters for better performance. Recommended by the original author to replace gometalinter (Drop-in replacement). - DEPRECATED: gometalinter - Automates the installation, configuration and application of
gofmt,golint,govetand several other code validation tools.
Code Formatting
Articles
Tools
- air - Live reload for Go apps
- gofmt - Start with the standard Go code formatter.
- golint - Detects style mistakes in Go code (deprecated).
- staticcheck - Go programming language linter.
- goimports - Format code and fix your import statements.
- gofumpt - A stricter gofmt.
- revive - Fast, configurable, extensible, flexible, and beautiful linter for Go.
Code generation, Templating and Generics
- json-to-go - Generate Go structs from JSON.
- Go gen - Type-driven code generation (generics)
- gojson - Another Go struct generator.
- gotemplate - Package-based templating system for Go.
- sqlgen - Generate Go code for SQL interactions.
- zek - Generate Go struct from XML.
- apidocgen - Generate web apis markdown docs and mocks.
Refactoring
Articles
- gorename - easy refactoring
- Refactoring Tools - An overview of refactoring tools for Go.
- Quick renaming with gofmt
Tools
- eg - Example-based refactoring tool for Go.
- gofmt - Start with the standard Go code formatter.
- gorename - Renaming tool for Go.
Error Detection
Articles
- Go Inspection Tools - An overview of tools for Go code inspection.
Tools
- AlignCheck, StructCheck, VarCheck - A suite of tools for checking your code.
- errcheck - Ensure you check your error conditions.
- go vet - Read this first on how to use the
go vetcommand. - SafeSQL - Protect against unsafe SQL in your code (deprecated).
Navigation
- Go Guru - User Manual - A tool for understanding Go code.
- Pythia - A browser-based UI for Go Guru.
Visualization
- godepgraph - A tool for generating dependency graphs of Go code.
AVX512 Articles AssemblyPolicy Benchmarks Blogs Books BoundingResourceUse CSSStyleGuide ChromeOS CodeReview CodeReviewComments CodeReviewConcurrency CodeTools Comments CommitMessage CommonMistakes CompilerOptimizations Conferences Configuring GoLand for WebAssembly Contributing to gopls CoreDumpDebugging Courses CreatingSubRepository CustomPprofProfiles Darwin DashboardBuilders Deprecated DesignDocuments Diagnostics Download build farm failed logs and debugging DragonFly BSD ErrorValueFAQ Errors ExperienceReports FileTreeDocumentation FreeBSD FromXToGo Frozen Fuzzing trophy case GOPATH Gardening GcToolchainTricks GccgoCrossCompilation GerritAccess GerritBot GithubAccess Go 1.10 Release Party Go 1.6 release party Go 1.8 Release Party Go Community Slides Go Release Cycle Go2 Go2ErrorHandlingFeedback Go2ErrorValuesFeedback Go2GenericsFeedback GoArm GoForCPPProgrammers GoGenerateTools GoGetProxyConfig GoGetTools GoMips GoStrings GoTalks GoUserGroups GoUsers Gomote Gopher HandlingIssues Home HostedContinuousIntegration How to ask for help HowToAsk IDEsAndTextEditorPlugins InstallFromSource InstallTroubleshooting InterfaceSlice InvalidFlag Iota Learn LearnConcurrency LearnErrorHandling LearnServerProgramming LearnTesting Linux LinuxKernelSignalVectorBug Livestreams LockOSThread MacOS12BSDThreadRegisterIssue MethodSets MinimumRequirements MinorReleases Mobile Modules MutexOrChannel NativeClient NetBSD NewSpeakers NoMeToo NoPlusOne NonEnglish OpenBSD PackagePublishing PanicAndRecover PerfDashboard Performance Plan9 Podcasts PortingPolicy PriorDiscussion Projects Proposals ProviderIntegration Questions Quiet Weeks Range RateLimiting ResearchPapers Resolving Problems From Modified Module Path Resources for slog SQLDrivers SQLInterface Screencasts SettingGOPATH SignalHandling SimultaneousAssignment SliceTricks SlowBots Solaris Spectre Spelling Style SuccessStories Switch TableDrivenTests TargetSpecific TestComments TestFailures Timeouts Training Ubuntu Watchflakes WebAccessibilityResourcesAndTips Well known struct tags WhyGo Windows WindowsBuild WindowsCrossCompiling WindowsDLLs X Repositories _Footer cgo golang tools gopherbot gopls integrator FAQ gopls heapdump13 heapdump14 heapdump15 through heapdump17 heapdump15