OS-agnostic pathing
One of Go's greatest strengths lies in its multiplatform support. A developer can develop on a Linux workstation and run the same Go program, recompiled into native code, on a Windows server.
One of the areas of difficulty when developing software that runs on multiple OSs is accessing files. Path formats are slightly different for each operating system. The most obvious example is the different file separators for OSs: \
on Windows and /
on Unix-like systems. Less obvious would be how to escape special characters on a particular OS, which can differ even between Unix-based OSs.
The path/filepath
package provides access to functions that will allow you to handle pathing for the native OS. This should not be confused with the root path
package, which looks similar but handles a more general URL-style pathing.
What OS/platform am I running?
While we will discuss how to gain file access and perform pathing using agnostic functions, it is still important...