Most main editors have some support for Go. Check the full list of IDEs and Plugins for Go on the official Go Wiki.
Though many editors support Go, they do not offer the same level of features and integrations.
These are things you might look for when considering an editor, from the most basic to the more advanced use cases. Keep in mind people tend to have different opinions here, so this is just a list to let you know some of what is possible, value the ones you care about most:
- Syntax coloring
- Integration with
gofmtto automatically format source code (best when always triggered on save) - Ability to replace
gofmtwithgoimportsto automatically add/remove/organize imports - Go to definition of identifier under cursor
- Code auto completion
- Integration with code linters (
go vet,golint,gometalinter, …) - Automatic refactors (rename, extract variable/function, …)
- Debugger Integration
- Integration with
go testto run tests - Integration with
godocto provide contextual documentation - Integration with Go
guru(formerly known as Gooracle) to answer questions about code