ホームページ >バックエンド開発 >Golang >Go でチルダ (~) をホーム ディレクトリに展開するにはどうすればよいですか?

Go でチルダ (~) をホーム ディレクトリに展開するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-21 05:46:14244ブラウズ

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

Go を使用してチルダをホーム ディレクトリに展開する

プログラムには、チルダ (~) 文字をユーザーのホーム ディレクトリに展開する機能が必要です。絶対パスと相対パスの両方。これを実現するために、Go は os/user パッケージを提供します。

Go では、user.Current() を使用して現在のユーザーの情報を取得できます。ユーザー タイプには、ユーザーのホーム ディレクトリを表す HomeDir フィールドがあります。

usr, _ := user.Current()
homeDir := usr.HomeDir

ホーム ディレクトリを取得したら、パス/ファイルパス パッケージを使用して、指定されたパスと組み合わせることができます。

if path == "~" {
    // Handle the case where the path is just "~"
    path = homeDir
} else if strings.HasPrefix(path, "~/") {
    // Handle the case where the path starts with "~/"
    path = filepath.Join(homeDir, path[2:])
}

セキュリティ上の理由から、user.Current() は Go プレイグラウンドでは使用できないことに注意してください。

以上がGo でチルダ (~) をホーム ディレクトリに展開するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。