اختبارات

حلقة 4

ماذا يطبع البرنامج التالي؟


package main

func main() {
	i, s := 9, []int{}

	for i = range s {}
	print(i)

	for i = 0; i < len(s); i++ {}
	print(i)

	s = append(s, 1, 2, 3, 4, 5)

	for i = range s {}
	print(i)

	for i = 0; i < len(s); i++ {}
	println(i)
}

الخيارات:

  • 0055
  • 9055
  • 9045
  • 0045

الإجابة: 9045

شغِّله على Go play.

النقطة الأساسية:

  • لا تضبط حلقة for-range أبدًا متغير التكرار الأول على فهرس غير صالح.