The io package offers efficient primitives and utilities to work with data and data streams. This talk highlights the core I/O interfaces and additional helpers from the standard library. We will see, when and how to implement these interfaces yourself and look at some existing implementations.
In this workshop participants can familiarize themselves with the support for concurrency and parallel programming in the language and the standard library. We’ll explore channels and goroutines, the sync and context package, and a few general patterns for writing robust concurrent programs.
Interfaces are crucial for decomposing and combining functionality in Go programs. Among the interfaces in the standard library two are a bit more prominent, as they provide simple, yet powerful facilities to work with data streams: io.Reader and io.Writer.