ブックマーク / tech.yappli.io (1)

  • なぜGoのerrorインターフェースはポインタレシーバで実装するべきなのか - Yappli Tech Blog

    サーバーサイドエンジニアの @shuymn です。 先日 Go の独自エラーについての記事を投稿しました。そこで error インターフェースを実装する時はポインタレシーバで実装しましょうという話をしました。そちらでは詳細は長くなるので割愛させていただきましたが、この記事では Go のインターフェースについて深掘りしつつ、前回の記事の主張を補完します。 インターフェースを満たす構造体を実装する方法 Go ではインターフェースを満たす構造体を実装する方法は 2 種類あります。 値レシーバでメソッドを実装する ポインタレシーバでメソッドを実装する 以下は error インターフェースの実装サンプルコードです。 type ErrFoo struct{} func (e ErrFoo) Error() string { return "foo" } type ErrBar struct{} fun

    なぜGoのerrorインターフェースはポインタレシーバで実装するべきなのか - Yappli Tech Blog
    i178inaba
    i178inaba 2024/02/05
  • 1