ماذا يطبع البرنامج التالي؟
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أبدًا متغير التكرار الأول على فهرس غير صالح.