كيفية قراءة ملف سطرًا بسطر في Go: دليل خطوة بخطوة
```html
السلام عليكم! لقد بدأت للتو في تعلم Go وواجهت مهمة تبدو بسيطة، لكنها تسبب لي صعوبات لسبب ما. أحتاج إلى قراءة ملف نصي سطرًا تلو الآخر. يمكن أن يكون الملف كبيرًا جدًا (عدة مئات من الميغابايت)، لذا أرغب في تجنب تحميل المحتوى بالكامل في الذاكرة.\n\nإليك ما جربته:\n\n```go\npackage main\n\nimport (\n "fmt"\n "os"\n)\n\nfunc main() {\n data, err := os.ReadFile("file.txt")\n if err != nil {\n panic(err)\n }\n lines := strings.Split(string(data), "\n")\n for _, line := range lines {\n fmt.Println(line)\n }\n}\n```\n\nلكن هذا الكود يقوم بتحميل الملف بأكمله في الذاكرة، وهو أمر غير فعال للملفات الكبيرة. بالإضافة إلى ذلك، سمعت أن Go يحتوي على ماسح ضوئي خاص للقراءة سطرًا تلو الآخر، لكنني لا أستطيع فهم كيفية استخدامه بشكل صحيح.\n\nمن فضلك، أخبرني كيف يمكنني قراءة ملف سطرًا تلو الآخر في Go بطريقة فعالة من حيث الذاكرة والوقت؟ أحتاج إلى معالجة كل سطر على حدة، ربما.
```