Chapter 4: Filesystem Interactions
A fundamental part of any developer's life is interacting with files. They represent data that must be processed and configured for our systems, cached items can be served, and many other uses.
One of Go's strongest features is its abstraction of file interfaces, which allows a common set of tools to interact with streams of data from disks and networks. These interfaces set a common standard that all major packages use to export their data streams. Moving from one to another just becomes an exercise in accessing the filesystem with the necessary credentials.
Packages related to specific data formats, such as CSV, JSON, YAML, TOML, and XML, build on these common file interfaces. These packages use the interfaces defined by the standard library to read these types of files from disk or HTTP streams.
Because Go is multiplatform, you may want to write software that can work on different OSs. Go provides packages that allow you to...