At least once in their career, every Go programmer had to write code that interacted with the filesystem. For example, if our application needed to handle some documents, we probably had to write code that handled the files and saved it under a directory. We may have ended up writing code that resemble this: p := filepath.Join(uploadsDirectory, userChosenFileName) f, err := os.OpenFile(p, os.O_RDWR|os.O_CREATE, 0755) if err != nil { return err } f.