Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 440 Bytes

File metadata and controls

23 lines (18 loc) · 440 Bytes

В чём разница errors.Is() и errors.As()

package main

import "errors"

type MyError struct {
  message string
}

func (e MyError) Error() string {
  return e.message
}

func main() {
  err := MyError{"My custom error"}
  // сравнение со значением:
  println(errors.Is(err, MyError{"My custom error"})) // true
  // сравнение с типом:
  println(errors.As(err, &MyError{})) // true
}