Discuss the use of Go's standard library for working with the file system, and what are the various techniques and strategies for file system programming in Go?