"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment développer le caractère Tilde (~) au répertoire domestique en Go?

Comment développer le caractère Tilde (~) au répertoire domestique en Go?

Publié le 2025-02-06
Parcourir:190

How Do I Expand the Tilde (~) Character to the Home Directory in Go?

élargir le répertoire Tilde à la maison dans go

dans Go, en élargissant le caractère Tilde (~) vers le répertoire personnel de l'utilisateur est crucial pour la gestion de la gestion Chemins relatifs dans les programmes. Cependant, le package de chemin intégré ne prend pas en charge nativement cette fonctionnalité.

Pour relever ce défi, nous pouvons tirer parti du package OS / utilisateur, qui fournit un moyen multiplateforme de récupérer diverses informations utilisateur. La fonction actuelle () nous permet d'obtenir les détails de l'utilisateur actuel, y compris leur répertoire domestique.

import (
    "os/user"
    "path/filepath"
)

// Utility function to expand the tilde character to the user's home directory
func expandTilde(path string) string {
    currentUser, _ := user.Current()
    homeDir := currentUser.HomeDir

    if path == "~" {
        return homeDir
    } else if strings.HasPrefix(path, "~/") {
        return filepath.Join(homeDir, path[2:])
    }
    return path
}

Cette fonction vérifie si la chaîne de chemin commence par "~ /" pour déterminer si elle a besoin d'expansion, puis utilise filepath.join pour concaténer le répertoire domestique avec le chemin relatif.

Incorporation Cette fonctionnalité dans votre code existant, vous pouvez désormais étendre le caractère Tilde dans votre chemin de destination:

import "path"

// var destination *String is the user input

func expandPath() {
        if path.IsAbs(*destination) {
                return
        }
        cwd, err := os.Getwd()
        checkError(err)
        *destination = path.Join(cwd, *destination)
}

En élargissant le caractère Tilde en plus de joindre des chemins relatifs, votre programme peut désormais gérer des chemins de destination qui incluent des structures de répertoire absolues et relatives.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3