// Created on savesnippets.com · https://savesnippets.com/ewSAHsFXYLVkuH package main import ( "errors" "fmt" ) // Exported sentinels — callers compare via errors.Is var ( ErrNotFound = errors.New("not found") ErrAlreadyExists = errors.New("already exists") ErrUnauthorized = errors.New("unauthorized") ) func getUser(id int) (string, error) { if id == 42 { return "Alice", nil } return "", fmt.Errorf("getUser id=%d: %w", id, ErrNotFound) } func main() { if _, err := getUser(99); err != nil { fmt.Println(err) // getUser id=99: not found if errors.Is(err, ErrNotFound) { fmt.Println("→ matched ErrNotFound") } } }