On a lower level, you might also be interested by the following article from Peter Bourgon on:
Structuring your code and repository, Program configuration, component graph, Goroutine lifecycle management, Observability, Testing, Interfaces, Context use and misuse
Try to avoid using frameworks with Go unless you really know you need them.
Most people are very productive just using the standard library and including a few libraries for specific things.
And I say just use the standard library but don't take it flippantly. Go has one of the best standard libraries I've ever used. If you really want to be a strong Go developer invest your time in learning it as best you can. Explore net/http, io and strings in particular. Go has a backward compatibility guarantee so anything you learn in the standard library is permanent, unlike any framework you might commit to.
For the IDE, I would try and stick to what you're used to, Go has good support for most environments.
Personally I am an intellij person so Goland is very good for me as I already know all the shortcuts. But people are very happy with Vim Go and VSCode with Go too.
Whatever you pick you should be able to quickly (i.e, with a key combination)
Run tests
Reformat the code automatically
Refactor code into functions
Rename things
Navigate to symbols
Auto fix imports (Go does not allow unused imports which beginners get annoyed at, but all you really need is a good editor to automatically fix it for you)
And I of course have to plug my book Learn Go with tests which will take you through most of what you need to know and show you how to make a web application all with the standard library. Whoo!
I'm a fan of Open Source and have a growing interest in serverless and edge computing. I'm not a big fan of spiders, but they're doing good work eating bugs. I also stream on Twitch.
Top comments (4)
Here is a popular list of frameworks, tools /everything with go
awesome-go.com/
Personally, I use vscode as IDE with the go plugin and gometalinter.
marketplace.visualstudio.com/items...
github.com/alecthomas/gometalinter
On a lower level, you might also be interested by the following article from Peter Bourgon on:
peter.bourgon.org/go-for-industria...
Cheers !
Try to avoid using frameworks with Go unless you really know you need them.
Most people are very productive just using the standard library and including a few libraries for specific things.
And I say just use the standard library but don't take it flippantly. Go has one of the best standard libraries I've ever used. If you really want to be a strong Go developer invest your time in learning it as best you can. Explore net/http, io and strings in particular. Go has a backward compatibility guarantee so anything you learn in the standard library is permanent, unlike any framework you might commit to.
For the IDE, I would try and stick to what you're used to, Go has good support for most environments.
Personally I am an intellij person so Goland is very good for me as I already know all the shortcuts. But people are very happy with Vim Go and VSCode with Go too.
Whatever you pick you should be able to quickly (i.e, with a key combination)
And I of course have to plug my book Learn Go with tests which will take you through most of what you need to know and show you how to make a web application all with the standard library. Whoo!
I've only used Go minimally on a project at my previous job, but VS Code with the Go extension, seemed pretty solid, including debugging.
For lovers (or Anyone who wants to learn from Vim (editor with Go support) vim-bootstrap.com