Un nome di variabile comune per file o directory è "percorso". Purtroppo questo è anche il nome di un pacchetto in Go. Inoltre, cambiando percorso come nome argomento in DoIt, come faccio a compilare questo codice?Come si usa un nome di variabile con lo stesso nome di un pacchetto in Go?
package main
import (
"path"
"os"
)
func main() {
DoIt("file.txt")
}
func DoIt(path string) {
path.Join(os.TempDir(), path)
}
L'errore che ottengo è:
$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)
ero paura che sarebbe la risposta ... Vorrei che ci fosse un altro modo, ma non lo vedo. – Nate
Sai cos'è un po 'ironico? Il codice del pacchetto del percorso non ha questa limitazione. Se dai un'occhiata a path.Split (http://golang.org/src/pkg/path/path.go?s=2665:2707#L97), vedrai che ha un argomento chiamato path. il percorso è definito nel file, ma non importato ... – Nate
Questa limitazione non si applica lì, perché non c'è alcun pacchetto 'path' importato e nessun'altra variabile' path' su shadow, ma posso presumere che tu lo sappia già. ;) – macbirdie