اختبارات

الشريحة 3

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


package main

import "fmt"

var x = []int{2: 5, 6, 0: 7}

func main() {
	fmt.Println(x)
}

الخيارات:

  • [7 0 5 6]
  • [7 6 5]

الإجابة: [7 0 5 6]

شغّله على Go play.

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

  • يمكن خلط العناصر المفتاحية (وهي هنا 2: 5 و0: 7) والعناصر غير المفتاحية (وهو هنا 6) في القيم الحرفية المركّبة للمصفوفات والشرائح.
  • يتحدد فهرس العنصر غير المفتاحي بفهرس آخر عنصر مفتاحي. وإذا كانت جميع العناصر السابقة غير مفتاحية، فإن فهرسه هو رقمه الترتيبي (بدءاً من الصفر). لذا فإن فهرس العنصر 6 هو 3.
  • طول القيمة الحرفية المركّبة لمصفوفة أو شريحة هو أكبر فهرس عنصر زائد واحداً.
  • تُعتبر العناصر غير المحدَّدة القيمة الصفرية لنوع العنصر.

وفي ما يلي مثال آخر، يطبع 7 88.


package main

func main() {
	var x = []int{4:44, 55, 66, 1:77, 88}
	println(len(x), x[2])
}