初级会员
  • 第 55075 位会员
  • finlu
  • 2020-07-20 18:55:04
  • Offline
  • 20 10

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • @baoguoding</a> 小写的error是在 `builtin.go` 中定义的接口,就和float64一样,可以直接使用的。 builtin.go文件中对error接口的声明如下: ```go // The error built-in interface type is the conventional interface for // representing an error condition, with the nil value representing no error. type error interface { Error() string } ``` fmt.Println(err) 这个方法怎么知道默认取调用下面函数的? ==> fmt.Println()函数接收任意的接口类型的参数,error是接口类型,所以能够被传入。在Println的内部,会根据传入的值的类型进行处理,对于error类型的值,go会调用 `print.go` 中的 `handleMethods` 方法进行处理(在第624行调用了error接口的的Error方法),所以你直接传入err的话会调用Error方法进行输出。 func (e *errorString) Error() string { return e.s } 这个地方使用指针的原因是errorString结构体的Error方法使用的是的指针接收器的方式。