DEV Community

Cover image for Trying to learn Golang, any tips ?

Trying to learn Golang, any tips ?

Fadhil โšก on June 04, 2022

Hello world ๐Ÿ‘‹, So lately I decided to try Golang, As a lazy developer & using Javascript/Typescript for literally everything, I decided to use...
Collapse
 
fjones profile image
FJones

First of all, the Tour of Go on the website is a really good start to get familiar with the language and its concepts.

After that, I would recommend thinking about what kind of high-throughput services you have on the backend a lot (external systems you cache regularly, database lookups, complex transformations, things like that), and build an example of that in Go.

Collapse
 
fadhilsaheer profile image
Fadhil โšก

Is there any website like Tour of Go but for backend ?, If that exist that might be very helpful, Thanks for the tip btw :)

Collapse
 
fjones profile image
FJones

I'm not sure which part of backend you're asking about specifically (since even the Tour goes into some detail on common backend processes, concurrency, and relatively common modules), but the Tour also references web application tutorials at the end, as a jumping-off point, which in turn can be tested on the Playground to an extent.

Collapse
 
dlapanik profile image
dlapanik • Edited

Tons of libraries and frameworks: awesome-go.com/
Some of them:
github.com/gofiber/fiber
github.com/valyala/fasthttp
github.com/gogearbox/gearbox

even better list of web frameworks can be taken from their benchmark:
github.com/smallnest/go-web-framew...

Collapse
 
codewander profile image
codewander • Edited

For the first week or two, I also like to do easy level hackerrank problems with the golang cheatsheet in hand, to practice internalizing the syntax and standard library.

I also picked out some libraries I found interesting (e.g. yourbasic/graph) and practiced using them with go's playground. The playground let's you import external libraries, you just need to use a special syntax to add the library.

Collapse
 
fadhilsaheer profile image
Fadhil โšก

Thanks for the tip, I guess this might be the better way to get hands on with go.

Collapse
 
iblancasa profile image
Israel Blancas

I'll give you the same advice I give to everyone who asks me how to learn a new language: create an open source project. That's the best way to learn."A project about what?" Whatever thing is OK. A calculator implemented as a REST API, a CLI to manage your stuff in Google Drive, an application to get information from Twitter about one topic and count how many new tests per hour are created about that. Doing stuff you'll find the correct path :)

Collapse
 
clavinjune profile image
Clavin June

maybe you can try translate your previous backend project from typescript to golang

Collapse
 
fadhilsaheer profile image
Fadhil โšก

Is there any resource for backend development with golang ?, like making REST api, using Graphql & websocket etc.

Collapse
 
sudoehtisham profile image
Ehtisham-sudo

exercism.org/tracks/go

come join us. me and a friends working on a crypto bot project we designed in
python but it was working with threads and later we decided to shift whole thing in golang. currently we are learning go for that project. We welcome you to the clan

Collapse
 
atulcodex profile image
๐Ÿšฉ Atul Prajapati ๐Ÿ‡ฎ๐Ÿ‡ณ

Be focused to learn it, don't distract with other shiny objects :| peace

target

Collapse
 
fadhilsaheer profile image
Fadhil โšก

โ˜œ(๏พŸใƒฎ๏พŸโ˜œ)

Collapse
 
dnasedkina profile image
dnasedkina

Hope you learn quickly, the company I work at reinforces their team of go engineers regularly :)

Collapse
 
bobfirestone profile image
Bob Firestone

When I was getting started learn go with tests helped me a ton quii.gitbook.io/learn-go-with-tests

Jon Calhounโ€™s blog and courses are really good. He has a few free courses. His paid courses are not cheap but I think the content is worth it. calhoun.io/