Junior — Middle
Go тилинде каталардын иштетилиши башка программалоо тилдериндеги чыгымдар механизмине окшоштуруп ишке ашырылат?
sobes.tech AI
AIден жооп
Go тилинде каталардын иштетилиши кайтарылуучу маанилер аркылуу ишке ашырылат, көптөгөн башка тилдердегидей ката чыгаруучу механизмдер аркылуу эмес. Функциялар жана методтор адатта эки маанини кайтарат: натыйжа жана катасы (error). Эгер катасы nil эмес болсо, бул катанын келип чыкканын жана аны иштетүү керектигин билдирет.
Go тилинде каталарды иштетүүнүн мисалы:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("нөлгө бөлүү")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Каталар:", err)
return
}
fmt.Println("Жыйынтык:", result)
}
Мындайча айтканда, Go тилинде try-catch структурасы жок; ал эми каталар так жана ачык түрдө өткөрүлүп, текшерилет, бул каталарды башкарууну так жана көзөмөлдөөгө мүмкүндүк берет.