Maison >développement back-end >Golang >Comment spécifier le chemin du fichier Windows dans l'application Go ?
Spécifier les chemins de fichiers Windows dans les applications en langage Go n'est pas compliqué. Tout d’abord, nous devons utiliser la fonction Join dans le package filepath pour séparer les chemins. Ensuite, nous pouvons utiliser la fonction Chdir dans le package os pour basculer le répertoire de travail actuel vers le chemin spécifié. Enfin, nous pouvons utiliser la fonction Stat du package os pour vérifier si le chemin existe. Pour résumer, la spécification des chemins de fichiers Windows ne nécessite que quelques étapes simples. Si vous souhaitez en savoir plus sur la façon de spécifier les chemins de fichiers Windows dans les applications Go, continuez à lire cet article et nous vous fournirons des réponses détaillées.
J'ai essayé de spécifier l'emplacement Windows du fichier .kube/config pour une application client go sans spécifier le chemin absolu.
kubeconfig := flag.string("kubeconfig", "%userprofile%/.kube/config", "location to the kube config file")
Sortie :
panic: runtime error: invalid memory address or nil pointer dereference
Lorsque j'utilise echo %userprofile%
时,输出是c:usersd6025a37ea8687b5422f951f7288bdc5
,所以我认为这是因为和
/
dans cmd, l'utilisation est différente en termes de code et de chemin.
J'ai essayé de spécifier le chemin en utilisant 而不是
/
mais cela a donné une erreur de syntaxe.
Quelqu'un peut-il me suggérer une solution pour utiliser les variables d'environnement Windows pour spécifier les chemins dans les applications Go ? Merci d'avance.
flag.string
的输出本身不会扩展环境变量,但您可以使用 os.expandenv
来做到这一点。但是 os.expandenv
要求您对环境变量使用 unix 表示法,即 $userprofile
或 ${userprofile}
。您可以使用 filepath.clean
Obtenez un chemin de fichier propre pour notre système d'exploitation spécifique (Windows dans votre cas).
Exemple :
kubeconfig := flag.string("kubeconfig", "$userprofile/.kube/config", "location to the kube config file") fmt.println(*kubeconfig) fmt.println(os.expandenv(*kubeconfig)) fmt.println(filepath.clean(os.expandenv(*kubeconfig)))
Cela affichera ce qui suit sous Windows :
$USERPROFILE/.kube/config C:\Users\username/.kube/config C:\Users\username\.kube\config
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!