

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 5
click for more info
Not enough gems
Cost: 6 gems
1: Welcome to Learn HTTP Servers
incomplete
2: Goroutines in Servers
incomplete
3: Project Setup
incomplete
4: Server
incomplete
5: Fileservers
incomplete
6: Fileserver Quiz
incomplete
7: Serving Images
incomplete
8: Workflow Tips
incomplete
9: Custom Handlers
incomplete
10: Handler Review
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
To kick things off, let's get our Go project started with a classic "Hello, World!" program.
A code editor. I use Zed, though you can use whatever you're comfortable with.
A command line environment. I work on macOS/Linux, so my instructions will be in Bash. I recommend WSL 2 if you're on Windows so you can still use Linux commands.
The Go toolchain with version 1.22 or higher.
The Boot.dev CLI to run the tests. Install it following the instructions in the README on GitHub, then run bootdev login to authenticate.
The lessons in this course require at least version 1.22 of Go. If you're using an older version, you'll run into some frustrating issues!
I highly recommend that you create a git repository for Chirpy hosted on GitHub (or whichever host you prefer), then clone the repo down onto your local machine. It's not a requirement, but a best practice. Use Git to save your work as you go.
A Go module groups the code in your project and tracks the dependencies it uses. The go mod init command creates the module's go.mod file.
The init command needs a module path. For example, if you created a repository at https://github.com/wagslane/chirpy, you would use the path github.com/wagslane/chirpy.
Set up a runnable Go project.
go mod init MODULE_PATHgo build -o out && ./outRun and submit the CLI tests from the project root.