Sobes.tech
Junior — Middle

Маслиҳат медиҳед, ки дар кадом ҳолатҳо истифода мешавад, ки дар забони барномасозӣ истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Дар Го, таъйиноти навъи (Type Assertion) барои гирифтани навъи мушаххас аз арзиши интерфейс истифода мешавад. Ин барои вақте муфид аст, ки шумо тағйирёбандаи навъи interface{} доред ва медонед, ки дар дохили он навъи мушаххасе ҳаст, ки мехоҳед бо он кор кунед.

Маслиҳатҳои истифода:

  • Гирифтани навъи мушаххас аз интерфейс барои фаро хондани методҳои махсус.
  • Коркарди арзишҳое, ки аз функсияҳое баргардонида мешаванд, ки интерфейсро баргардонанд.
  • Дар ҳолатҳое, ки лозим аст, санҷед, ки оё тағйирёбанда навъи муайянро иҷро мекунад, ва логикаи дахлдорро иҷро кунед.

Намунаи код:

var i interface{} = "салом"

// Таъйиноти навъ бо санҷиш
s, ok := i.(string)
if ok {
    fmt.Println("Рамз:", s)
} else {
    fmt.Println("На рамз")
}

Агар шумо таъйиноти навъро бе санҷиш анҷом диҳед ва навъ мувофиқат накунад, барнома паника мекунад.