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 истифода нашавад, паника ба вуҷуд меояд. Аз ин рӯ, шакли бо ду арзиш баргардондаро барои санҷиши бехатар истифода мебаранд.