「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > GOのTilde(〜)文字をホームディレクトリに拡張するにはどうすればよいですか?

GOのTilde(〜)文字をホームディレクトリに拡張するにはどうすればよいですか?

2025-02-06に投稿しました
ブラウズ:368

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

go

in goのホームディレクトリへの拡張、ユーザーのホームディレクトリへのティルド(〜)文字を拡張することは、取り扱いには重要ですプログラムの相対パス。ただし、組み込みのパスパッケージはこの機能をネイティブにサポートしていません。現在の()関数を使用すると、ホームディレクトリを含む現在のユーザーの詳細を取得できます。 「OS/ユーザー」 「パス/フィルパス」 )) // Tilde文字をユーザーのホームディレクトリに拡張するためのユーティリティ機能 func endocdtilde(path string)string { currentuser、_:= user.current() Homedir:= culernuser.homedir path == "〜"の場合{ Homedirを返します } else if strings.hasprefix(path、 "〜/"){ filepath.join(homedir、path [2:])を返す } パスを返す }

この関数は、パス文字列が「〜/」で始まるかどうかをチェックして拡張が必要かどうかを判断し、filepath.ingを使用してホームディレクトリを相対パスと連結します。この機能は既存のコードになり、宛先パスでTilde文字を拡張できるようになりました。

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
}

Tildeキャラクターを拡張することにより、相対パスを結合することに加えて、プログラムは絶対的なディレクトリ構造と相対ディレクトリ構造の両方を含む宛先パスを処理できるようになりました。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3