为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 go 编译器在满足接口时说结构不满足接口?

为什么 go 编译器在满足接口时说结构不满足接口?

Go
ABOUTYOU 2022-01-04 21:00:41
我可以看到scanner.go该结构有一个error方法。// A SyntaxError is a description of a JSON syntax error.type SyntaxError struct {    msg    string // description of error    Offset int64  // error occurred after reading Offset bytes}func (e *SyntaxError) Error() string { return e.msg }但是编译器告诉我这个:api/errors.go:24: impossible type switch case: err (type error) cannot have dynamic type json.SyntaxError (missing Error method) 尝试在类型上做开关盒时func myFunction(err error) {    switch err.(type) {        case validator.ErrorMap, json.SyntaxError:        response.WriteErrorString(http.StatusBadRequest, "400: Bad Request")//etc       为什么这不能编译?因为结构有Error方法。
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

事实证明这func (e *SyntaxError) Error() string { return e.msg }是指针的方法,而我正在寻找值的方法。我设法通过*json.SyntaxError引用指针来解决这个问题。


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信