I switched from _years_ on sublime (paid) to vscode in a hot minute for Go development. Awesome jump to declaration and linting. There is one thing it has trouble with and that is auto-complete from within sub-packages. Not sure why yet.
I'm on LiteIDE for Go - have you tried it? If so, do you know how VS Code compares to it?
I have a very multilingual project so i'm resigned to using multiple IDEs anyway (LiteIDE for Go, VS for C#, Qt Creator for C++/Qt, Eclipse PDT for PHP, Notepad++ for bash...)
I've not tried LiteIDE since it first came out. I did not enjoy the experience at the time. The toolchain in VSCode is really nice. You can run tests from your cursor, the file, or the package. There is a built in terminal if you want it. Jump and peek definition for stdlib and imported packages. GoImports works, but so does a cmd+p prompt where you can ">Go: Add Import" and specifically add the import you want so autocomplete just starts working for it. The linting catches me all the time when I type fmt.Println instead of fmt.Printf or have the wrong format types in the string. You have to mouse over something to get its method signature or type, but I've gotten used to it. I even have found myself using its git diff viewer. It also has delve debugger integration, but I've not had the chance to use it yet.
I also use VSCode for bash, python, perl, HTML, markdown, and probably a few others that I'm forgetting. However, I primarily use it for Go.
Nothing beats LiteIDE's integration with the Go toolchain IMHO. However it's not a very good editor in other aspects. Plus it's so ugly it hurts my eyes.
In general a linter is a syntax checker, and usually one that tries to flag code quality issues well as illegal syntax (e.g. "don't declare a function in a loop!").