"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني توسيع شخصية Tilde (~) إلى الدليل المنزلي في GO؟

كيف يمكنني توسيع شخصية Tilde (~) إلى الدليل المنزلي في GO؟

نشر في 2025-02-06
تصفح:654

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

المسارات النسبية في البرامج. ومع ذلك ، فإن حزمة المسار المدمجة لا تدعم هذه الميزة. تتيح لنا الدالة الحالية () الحصول على تفاصيل المستخدم الحالي ، بما في ذلك الدليل الرئيسي.

استيراد ( "نظام التشغيل/المستخدم" "PATH/FILEPATH" ) // وظيفة الأداة المساعدة لتوسيع حرف Tilde إلى الدليل الرئيسي للمستخدم FUNC Exploytilde (سلسلة المسار) سلسلة { CurrentUser ، _: = user.current () homedir: = currentuser.homedir إذا المسار == ​​"~" { العودة هومدير } آخر إذا كانت السلاسل. hasprefix (المسار ، "~/") { إرجاع filepath.join (homedir ، path [2:]) } مسار العودة }

تتحقق هذه الوظيفة من أن سلسلة المسار تبدأ بـ "~/" لتحديد ما إذا كان يحتاج إلى توسع ، ثم يستخدم filepath.soin لتسلسل الدليل المنزلي بالمسار النسبي.

هذه الوظيفة في الكود الحالي الخاص بك ، يمكنك الآن توسيع حرف 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