اختبارات

ثابت 1

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


package main

const (
	_    = 6
	A, _ = iota, iota + 10
	_, _
	_, B
)

func main() {
	println(A, B)
}

الخيارات:

  • 0 15
  • 1 15
  • 0 13
  • 1 13

الإجابة: 1 13

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

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

  • داخل تعريف ثابت، حذف قائمة التعبيرات في مواصفة ثابت مكافئ لتكرار القائمة في مواصفة الثابت السابقة.
  • قيمة iota المعرَّفة مسبقاً هي المعرّف الترتيبي لمواصفة الثابت (بدءاً من 0) داخل تعريف ثابت.

يحتوي تعريف الثابت في شيفرة الاختبار على 4 مواصفات ثابت. ووفقاً للقواعد المذكورة للتو، يكون التعريف مكافئاً للتعريف التالي:


const (
	_    = 6
	A, _ = 1, 1 + 10
	_, _ = 2, 2 + 10
	_, B = 3, 3 + 10
)