当前位置:  首页>> 技术小册>> GO面试指南

Go 语言没有传统意义上的异常机制,而是使用了 error 类型来表示错误。error 是一个接口类型,定义如下:

  1. type error interface {
  2. Error() string
  3. }

在 Go 中,如果一个函数可能会返回错误,通常会将其返回值类型声明为 error 类型,并在函数返回时返回一个实现了 error 接口的对象。

下面是一个简单的示例:

  1. func divide(a, b float64) (float64, error) {
  2. if b == 0 {
  3. return 0, fmt.Errorf("division by zero")
  4. }
  5. return a / b, nil
  6. }
  7. func main() {
  8. result, err := divide(10, 2)
  9. if err != nil {
  10. log.Fatal(err)
  11. }
  12. fmt.Println(result)
  13. }

在上面的示例中,我们定义了一个 divide 函数,它接受两个浮点数参数,并返回它们的商和一个错误对象。如果除数为零,则返回一个实现了 error 接口的对象,其中包含了一个自定义的错误信息字符串。否则,返回计算结果和 nil。

在 main 函数中,我们调用 divide 函数,并检查其返回值中的错误对象。如果错误对象不为 nil,则使用 log.Fatal 函数输出错误信息并终止程序。否则,输出计算结果。

在 Go 中没有传统意义上的异常机制,而是使用了 error 类型来表示错误。通过返回实现了 error 接口的对象来表示错误,并在调用函数时检查错误对象来处理错误。这种方式可以让程序更加稳定和可靠。


该分类下的相关小册推荐: