github.com/code-reading/golang@v0.0.0-20220303082512-ba5bc0e589a3/coding/errors/is.go (about) 1 package main 2 3 import ( 4 "errors" 5 "fmt" 6 "io/fs" 7 "os" 8 ) 9 10 func main() { 11 if _, err := os.Open("non-existing"); err != nil { 12 // errors.Is(err, xxx), 这里 最终调用了err.Is() 函数完成逻辑判断 13 // 这里说明, 可以在给家的错误 定义Is 用来完成 业务错误判断 14 if errors.Is(err, fs.ErrNotExist) { // 判断错误是不是fs.ErrNotExist 15 fmt.Println("file does not exist") 16 } else { 17 fmt.Println(err) 18 } 19 } 20 }