Sobes.tech
Junior — Middle

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

sobes.tech AI

Ҷавоб аз AI

Таъйинии навъи (type assertion) дар барномасозӣ, махсусан дар Go, роҳи ба даст овардани арзиши навъи мушаххас аз навъи интерфейсӣ мебошад.

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

Масалан:

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

s, ok := i.(string) // s хоҳад буд "салом", ok — true

агар ok {
    fmt.Println(s) // мебарорад: салом
} дигар {
    fmt.Println("i дорои string нест")
}

Агар таъйини навъ ноком шавад ва параметри дуввум ok истифода нашавад, паника ба вуҷуд меояд. Аз ин рӯ, шакли бо ду арзиш баргардондаро барои санҷиши бехатар истифода мебаранд.