Sobes.tech
Junior — Middle

Dasturlash tilida turni tasdiqlash (Type Assertion) ishlatiladigan holatlarning misollarini keltira olasizmi?

sobes.tech AI

AIdan javob

Go tilida, Tip Assertion (Type Assertion) interfeys qiymatidan aniq bir turni olish uchun ishlatiladi. Bu, interface{} turidagi o'zgaruvchiga ega bo'lsangiz va uning ichida ishlashni istagan aniq tur bo'lsa, foydalidir.

Foydalanish misollari:

  • Interfeysdan aniq turni olish va maxsus metodlarni chaqirish.
  • Interfeysni qaytaradigan funksiyalardan qaytgan qiymatlarni ishlash.
  • O'zgaruvchi ma'lum bir turni amalga oshirayotganligini tekshirish va mos logikani bajarish.

Kod misoli:

var i interface{} = "salom"

// Tipni tekshirish bilan rzutlash
s, ok := i.(string)
if ok {
    fmt.Println("String:", s)
} else {
    fmt.Println("String emas")
}

Agar tekshirmasdan rzutlashni amalga oshirsangiz va tur mos kelmasa, dastur panik qiladi.