Go / Intermediate: Packages and Concurrent Work

Go β€” Intermediate: Packages and Concurrent Work

Compose testable packages, bounded I/O, HTTP, contexts, and channels.

6 lessons Β· No account required

What you will learn

  • Separate package interfaces from implementation details.
  • Test failure paths and resource cleanup.
  • Coordinate goroutines with explicit completion protocols.
  1. Packages and API Boundaries

    Design cohesive packages with small exported contracts, explicit dependencies, and reproducible module requirements.

    Start learning
  2. Testing and Fuzzing Contracts

    Derive meaningful checks from domain promises and use Go’s testing tools without confusing coverage with proof.

    Start learning
  3. I/O Streams, Files, and Bounded Records

    Process stream results in the correct order, enforce size policies, and make resource ownership explicit.

    Start learning
  4. Context, Deadlines, and Cancellation

    Propagate operation lifetime across calls and distinguish requesting cancellation from waiting for work to stop.

    Start learning
  5. HTTP Handlers and Clients

    Compose bounded HTTP behavior, test handlers without external services, and define request and resource lifetimes.

    Start learning
  6. Goroutines, Channels, and Completion

    Coordinate concurrent work through explicit communication, channel ownership, and observable completion rather than sleeps.

    Start learning
Back to course