面试题答案
一键面试- error类型零值:
在Go语言中,
error
类型的零值是nil
。它表示没有错误发生。 - 判断error实例是否为零值:
在Go语言中,可以直接使用
==
运算符将error
实例与nil
进行比较来判断是否为零值。 - 示例代码:
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
是否为零值,以决定是输出结果还是错误信息。