Is there a proper way to connect to a Windows share, such as \windowspc\c$\myshare, from a Go application that is compiled and running on a Linux device?
The share will require credentials to save a file to the target UNC path.
Is there a best practices to accomplish this?
Theoretically yes, practically no.
Windows shares use the SMB/CIFS family of protocols. Those can be implemented in Go and be used to access the shares. This is a huge task, though.
Instead of having this in your application the best way is to require the share to be mounted from your system and then access it like a local file system from the application.
If you really want to use SMB/CIFS you can check whether the Gnome VFS (virtual file system) or FUSE as C libraries from within Go, but this will be messy and ugly.