هل توجد حلقة foreach في Go؟ كيف يتم التكرار على شريحة؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Go بعد Python وJavaScript، وهناك شيء يحيرني. في Python اعتدت كتابة `for item in my_list:`، وفي JS `myArray.forEach(item => ...)`. هذا مريح جداً عندما تحتاج إلى المرور على جميع عناصر المجموعة.
في Go أرى فقط الحلقة التقليدية `for i := 0; i < len(slice); i++` والتي تبدو ضخمة. حاولت كتابة شيء مثل:
```go
package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "cherry"}
// هنا أنا في حيرة - كيف أفعل foreach؟
// جربت هكذا لكنه لا يعمل:
// for fruit := range fruits {
// fmt.Println(fruit)
// }
}
```
عندما شغلت هذا الكود، طبع المؤشرات (0, 1, 2) وليس القيم نفسها. كنت أتوقع رؤية "apple"، "banana"، "cherry".
أرجو إخباري، هل يوجد في Go ما يشبه foreach من اللغات الأخرى؟ أم يجب دائماً استخدام الحلقة مع المؤشر؟ ربما أستخدم `range` بشكل خاطئ؟ سأكون ممتناً لأمثلة كود مع شروحات. شكراً مسبقاً.