No description
- Go 97.9%
- HTML 2.1%
|
All checks were successful
Build and Release PDFs / build (push) Successful in 1m7s
Concurrency gains fan-out/fan-in PokeAPI fetching, a shared context deadline step, and a 5-worker pool that catches the Kanto dex. Generics reshaped around generic functions: union constraints with tilde, Map with inference, the Garage step, and Filter. Modern stdlib now acts on the carapp (slog in AddCar, slices/cmp on []Car) and adds a custom iter.Seq iterator step. Solutions updated and verified with -race. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| .vscode | ||
| archive | ||
| articles | ||
| books | ||
| build | ||
| demos | ||
| examples | ||
| solutions | ||
| src | ||
| tutorials | ||
| .gitattributes | ||
| .gitignore | ||
| go.work | ||
| go.work.sum | ||
| README.md | ||
Go Programming Courseware
Welcome to the Go Programming course! This repository contains the essential materials for your learning journey, including demonstrations, exercises, solutions, and reference materials.
Repository Structure
Here is an overview of the key directories and files available to you:
📄 Course Documents
PRG350-Go-Programming.pdf: The primary course slides and handbook.PRG350-Go-Programming-Exercises.pdf: The workbook containing all course exercises and assignments.
💻 Code & Demos
demos/: A comprehensive set of demonstrations organized by topic (e.g.,01-go-intro,06-concurrency). These folders contain executable examples that illustrate key Go concepts discussed in class.solutions/: Reference solutions for the course exercises. Use these to check your work or if you need a hint.examples/: Curated examples from well-known Go resources like Go by Example, Learn Go with Tests, and Ardan Labs training.
📖 Learning Materials
articles/: A collection of informative articles and papers covering various Go topics, from basic syntax to advanced concurrency patterns. Available in both PDF and Word formats.tutorials/: Step-by-step guides on specific Go features such as Modules, Generics, Reflection, and Testing.books/: Recommended reference books (PDF) for deeper study.
Getting Started
Prerequisites
- Go: Ensure you have Go installed (version 1.26 or later is recommended).
- Editor: We recommend using Visual Studio Code with the Go extension. GoLand and neovim + whatever you feel comfy with is fine too!
Workspace Configuration
This repository uses Go Workspaces, managed by the go.work file in the root. This allows you to work across multiple modules (demos, solutions, etc.) seamlessly.
- Open the root of this repository in your editor.
- The editor should automatically recognize the workspace and provide IntelliSense across all modules.
- To run a demo, navigate into its directory in your terminal and use
go run .(for main packages) or run the specific.gofile.
Happy Coding!