Senior
Типти которуу варианттарында паника болушу мүмкүн жана аны болтурбоо үчүн кайсы курулуш мүмкүндүк берет?
sobes.tech AI
AIден жооп
Типти ырастоо (type assertion) учурунда, эгер чын маанинин тиби күтүлгөн менен дал келбесе, паника пайда болушу мүмкүн. Мисалы:
var i interface{} = "жол"
// intке айландыруу паникага алып келет
n := i.(int) // паника: интерфейс айландыруу: interface {} string, эмес int
Паникадан сактануу үчүн, эки кайтаруу мааниси бар курулуш колдонулат — экинчи мааниси айландыруу ийгиликтүү болгон-болбогондугун көрсөтөт:
n, ok := i.(int)
if !ok {
// айландыруу катасын иштетүү
}
Ушул жол менен, коопсуз түрдөгү ырастоо паниканы алдын алып, түрлөр дал келбеген учурда туура иштетүүгө мүмкүндүк берет.