golang errors.Is

package main

import (
    "errors"
    "fmt"

    "github.com/containerd/containerd/errdefs"
)

func main() {
    err := fmt.Errorf("snapshotter was not found: %w", errdefs.ErrNotFound)
    fmt.Println(err)
    if errdefs.IsNotFound(err) {
        fmt.Println("nmx111")
    }
    if errors.Is(err, errdefs.ErrNotFound) {
        fmt.Println("222222222")
    }
}
[Running] go run "/home/nmx/bug/main.go"
snapshotter was not found: not found
nmx111
222222222
 
在Go语言中,errors.Is函数用于检查一个错误是否包含另一个错误。这个函数通过比较错误链来确定当前错误是否包含目标错误。例如,如果函数A调用了函数B,函数B调用了函数C,而函数C返回了一个错误,那么可以通过errors.Is来检查这个错误是否与预期的错误匹配。
posted @ 2025-04-03 21:07  rincloud  阅读(43)  评论(0)    收藏  举报