Avatar ·

كيفية إنشاء مجلد في Go إذا لم يكن موجودًا (mkdir if not exists)

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت هذه المشكلة. أحتاج في البرنامج إلى إنشاء دليل لحفظ السجلات، ولكن فقط إذا لم يكن موجودًا بعد. إذا كان المجلد موجودًا بالفعل — لا داعي لفعل أي شيء، فقط استمر في العمل.\n\nالمشكلة هي أن الدالة القياسية os.Mkdir() ترجع خطأ إذا كان الدليل موجودًا بالفعل. جربت أولاً التحقق عبر os.Stat() ثم الإنشاء، لكن هذا يبدو وكأنه حل مؤقت. في لغات أخرى (مثل Python) يوجد os.makedirs(exist_ok=True)، وفي PHP — mkdir($path, 0777, true). هل يوجد شيء مشابه في Go؟\n\nهذا هو الكود الحالي الذي يبدو لي غير صحيح:\n\n```go\npackage main\n\nimport (\n "fmt"\n "os"\n)\n\nfunc main() {\n path := "./logs"\n if _, err := os.Stat(path); os.IsNotExist(err) {\n err := os.