Portscan
Port scanning examples to teach Go concurrency and goroutine bounding.
New to Go? Start here
Browse the Go Tour
What to expect:
- Get a feel for the language syntax.
- Don't worry if some of it looks odd or complicated right now, you're just browsing.
- Relate as much of what you see to what you already know through other programming languages. Some concepts will just be syntax difference, others will be new.
Head on over to https://go.dev/tour.
Read Effective Go
What to expect:
- Now what you've done the tour, Effective Go will give you a foundation for building Go programs
- You'll learn everything from how Go code is organized to the idiomatic ways of handling errors
- It's okay to digest this information in bits and pieces--there's a lot there.
Head on over to https://go.dev/doc/effective_go
Build something!
If you've done the Go Tour and read part or most of Effectiive Go, you've got enough foundational knowledge to build something. The rest of your comfort with Go will come more easily through practice.
Ideas (in case you don't already have any):
- Build a Go equivalent to the
wc
shell command. - Extend your
wc
CLI tool to support concurrent counting. - Build a CLI-based currency converter.
- Repurpose your currency converter into a REST+JSON service.
Write Go like a Gopher
Use Go Code Review Comments to supplement the knowledge you've gained from reading Effective Go and building some tools. It's a collection of common expectations and idioms from Go code and contains a list of common mistakes to avoid.
Improve your craft
- Go Documentation, from specs to tutorials
- Additional resources at go.dev