type userError interface {
error
Message() string
}
type userError string
func (e userError) Error() string {
return e.Message()
}
func (e userError) Message() string {
return string(e)
}
而且为什么这里还可以
return userError(
fmt.Sprintf("path %s must start "+
"with %s",
request.URL.Path, prefix))