ماذا يطبع البرنامج التالي؟
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])
}