A common variable name for files or directories is "path". Unfortunately that is also the name of a package in Go. Besides, changing path as a argument name in DoIt, how do I get this code to compile?
package main
import (
"path"
"os"
)
func main() {
DoIt("file.txt")
}
func DoIt(path string) {
path.Join(os.TempDir(), path)
}
The error I get is:
$6g pathvar.go
pathvar.go:4: imported and not used: path
pathvar.go:13: path.Join undefined (type string has no field or method Join)
The
path stringis shadowing the importedpath. What you can do is set imported package's alias to e.g. pathpkg by changing the line"path"inimportintopathpkg "path", so the start of your code goes like thisOf course then you have to change the
DoItcode into: