Link Search Menu Expand Document

Golang for Intermediate

Connecting the Network GO 201

Concurrency Programming

  • What is concurrency ?
  • Concurrency in Go
  • Goroutines
  • Channels
  • Unbuffered Channels
  • Buffered Channels
  • Channel Select
  • Advanced Concurrency patterns
  • Synchronizing access to a resource with Mutex
  • Creating a map for concurrent access
  • Running a code block only once
  • Pooling resources across multiple goroutines
  • Synchronizing goroutines with WaitGroup
  • Getting the fastest result from multiple sources
  • Propagating errors with errgroup


HTTP Programming

  • A deep dive into Go’s http package
  • ServeMux and Handler
  • Creating custom handlers
  • Extending Go’s http package by using third-party packages
  • Routing using Gorilla Mux
  • Writing HTTP middleware
  • Building RESTful APIs

Package Context

  • Using context on http applications
  • Using Context for providing deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes
  • Using Context for managing Goroutines

Persistence with Databases

Table of contents