MST

星途 面试题库

面试题:Go语言中error类型的零值是什么,如何判断一个error是否为零值?

在Go语言的错误处理机制中,error类型的零值有特定含义。请说明error类型零值是什么,并且阐述在代码中如何判断一个error实例是否为零值,并给出相应示例代码。
32.6万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  1. error类型零值: 在Go语言中,error类型的零值是nil。它表示没有错误发生。
  2. 判断error实例是否为零值: 在Go语言中,可以直接使用==运算符将error实例与nil进行比较来判断是否为零值。
  3. 示例代码
package main

import (
    "fmt"
)

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 2)
    if err == nil {
        fmt.Printf("Result: %d\n", result)
    } else {
        fmt.Printf("Error: %v\n", err)
    }

    result, err = divide(10, 0)
    if err == nil {
        fmt.Printf("Result: %d\n", result)
    } else {
        fmt.Printf("Error: %v\n", err)
    }
}

在上述代码中,divide函数进行除法运算,如果除数为0,则返回一个非零值的error,否则返回nil。在main函数中,通过if err == nil判断error是否为零值,以决定是输出结果还是错误信息。