Asosiy qiymati nil bo'lgan interface qiymatlari
Agar interface ichidagi aniq qiymatning o'zi nil bo'lsa, metod nil receiver bilan chaqiriladi.
Ba'zi tillarda bu null pointer istisnosini keltirib chiqargan bo'lardi, lekin Goda nil receiver bilan chaqirilishni xatosiz qayta ishlaydigan metodlarni yozish odatiy hol (bu misoldagi M metodi kabi).
E'tibor bering: aniq
nilqiymatni saqlayotgan interface qiymatining o'zinilemas.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
NilMi(i I) bool funksiyasini yozing: interface qiymatining o'zi nil bo'lsagina true qaytarsin. Eslang: ichida nil pointer saqlagan interface nil emas.
T uchun pointer receiver'li Uzunlik() int metodini yozing: S satrining uzunligini qaytarsin, lekin receiver nil bo'lsa 0 qaytarsin (nil receiver bilan ham panic bo'lmasin). Masalan, (&T{"abc"}).Uzunlik() — 3, (*T)(nil).Uzunlik() — 0.