Avatar ·

كيف تتحقق مما إذا كان الملف موجودًا في Go؟ (بدون سباقات بيانات غير ضرورية)

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مهمة بسيطة للوهلة الأولى: أحتاج إلى التحقق مما إذا كان الملف موجودًا على القرص قبل قراءته أو الكتابة إليه. في Python اعتدت على فعل ذلك: ```go import os if os.path.exists("myfile.txt"): print("الملف موجود") ``` لكن في Go لم أجد مثل هذه الوظيفة البسيطة. في توثيق حزمة `os` توجد وظيفة `Stat()` التي ترجع خطأ إذا لم يكن الملف موجودًا. كتبت هذا الكود: ```go package main import ( "fmt" "os" ) func main() { _, err := os.Stat("myfile.txt") if err != nil { if os.IsNotExist(err) { fmt.Println("الملف غير موجود") } else { fmt.Println("حدث خطأ آخر:", err) } } else { fmt.Println("الملف موجود") } } ``` يبدو أنه يعمل، لكني أشعر بالارتباك لأن توثيق Go غالبًا ما يذكر أن التحقق من الوجود قبل القراءة/الكتابة هو نمط مضاد، لأنه بين التحقق والعملية